@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--ink:#18312e;--muted:#73827e;--green:#1c6255;--line:#e2eae6;--paper:#fff;--bg:#f6f8f5;--mint:#e7f0eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;direction:rtl}.topbar{height:72px;padding:0 max(calc((100vw - 1160px)/2),5vw);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fbfcfa}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:19px;letter-spacing:-.7px}.brand-light{font-weight:400;color:var(--muted)}.brand-mark{width:26px;height:26px;border:1px solid #a8c0b4;color:var(--green);border-radius:8px;display:grid;place-items:center;font-size:21px}.top-note{font-size:12px;color:var(--muted)}main{max-width:1120px;margin:auto;padding:0 28px}.intro{min-height:305px;display:flex;align-items:center;justify-content:space-between;position:relative;border-bottom:1px solid var(--line);overflow:hidden}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--green);font-weight:700;margin:0 0 12px}.intro h1{font-family:'Playfair Display',serif;font-size:52px;letter-spacing:-1.4px;line-height:1.04;margin:0 0 14px}.intro h1 em{font-weight:600;color:var(--green)}.lede{font-size:14px;line-height:1.7;color:var(--muted);max-width:430px;margin:0}.intro-art{width:300px;height:255px;position:relative;margin-left:75px}.bottle{position:absolute;z-index:2;right:107px;top:43px;width:100px;height:174px;border-radius:20px 20px 24px 24px;background:linear-gradient(100deg,#d3e5d9,#f3f7ef 50%,#c7dbd0);box-shadow:16px 18px 30px #b3c9ba55}.bottle:before{content:'';position:absolute;top:-21px;right:25px;width:50px;height:28px;border-radius:8px 8px 3px 3px;background:repeating-linear-gradient(90deg,#557d6b 0 3px,#688e7d 3px 5px)}.bottle-label{position:absolute;top:52px;right:8px;width:84px;height:74px;background:#fbfcf6;border-radius:5px;padding:12px 9px;color:#1c6255}.bottle-label b{font-size:8px;letter-spacing:1px}.bottle-label small{display:block;font-size:6px;margin:5px 0 7px;color:#83978a}.bottle-label i{display:block;width:42px;height:2px;background:#d4e3d9;margin:4px 0}.orbit{position:absolute;border:1px solid #c7dacf;border-radius:50%;transform:rotate(-23deg)}.orbit-one{width:245px;height:105px;top:75px;right:28px}.orbit-two{width:270px;height:125px;top:67px;right:18px;transform:rotate(42deg)}.spark{position:absolute;left:6px;top:40px;color:#9dbbab;font-size:24px}.layout{display:grid;grid-template-columns:1.06fr .94fr;gap:26px;padding:30px 0 70px}.form-card,.records-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px 26px;box-shadow:0 8px 28px #244a3b08}.card-heading,.records-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-heading h2,.records-heading h2{font-size:18px;letter-spacing:-.4px;margin:0}.card-heading .eyebrow,.records-heading .eyebrow{margin-bottom:6px}.step{font-size:10px;color:#83938c;letter-spacing:1px}.step span{padding:0 4px;color:#b6c5be}.photo-picker{min-height:75px;border:1px dashed #a9c5b7;border-radius:9px;background:#f8fbf8;display:flex;align-items:center;padding:13px 15px;gap:12px;cursor:pointer}.photo-picker:hover{background:#f0f6f2}.camera-icon{width:36px;height:36px;background:#e7f0eb;border-radius:9px;display:grid;place-items:center;color:var(--green);font-size:20px}.photo-picker b,.photo-picker small{display:block}.photo-picker b{font-size:12px;font-weight:600}.photo-picker small{font-size:10px;color:var(--muted);margin-top:4px}.photo-picker input{display:none}.photo-preview{margin-top:10px;position:relative;height:100px}.photo-preview img{width:100%;height:100%;object-fit:cover;border-radius:8px}.photo-preview button{position:absolute;left:7px;top:7px;border:0;border-radius:50%;width:25px;height:25px;background:#fff;color:var(--ink);font-size:18px;cursor:pointer}.hidden{display:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px;margin-top:22px}.fields label{font-size:11px;font-weight:600}.required{color:#b45445}.optional{float:left;font-size:8px;letter-spacing:1px;color:#9aa7a2}.fields input,.fields textarea{display:block;width:100%;margin-top:7px;border:1px solid #dfe7e2;border-radius:7px;padding:11px 12px;font:12px 'DM Sans',sans-serif;color:var(--ink);outline:0;background:#fff;direction:rtl;text-align:right}.fields input:focus,.fields textarea:focus{border-color:#78a693;box-shadow:0 0 0 3px #e6f1eb}.fields input::placeholder,.fields textarea::placeholder{color:#a6b2ad}.fields small{display:block;color:#93a09b;font-size:9px;font-weight:400;margin-top:6px}.full{grid-column:1/-1}.fields textarea{resize:vertical}.save-button{width:100%;border:0;border-radius:7px;background:var(--green);color:white;padding:13px 15px;font:600 12px 'DM Sans',sans-serif;cursor:pointer;display:flex;justify-content:space-between}.save-button:hover{background:#164c42}.save-button span{font-size:17px;line-height:12px}.privacy-note{font-size:9px;color:#929f99;text-align:center;margin:11px 0 0}.message{font-size:11px;min-height:14px;color:#a44939}.message.success{color:var(--green)}.records-heading{margin-bottom:16px}.records-heading h2 span{font-size:10px;color:var(--green);background:#e9f2ec;border-radius:12px;padding:4px 7px;vertical-align:2px;margin-right:4px}.refresh{border:1px solid var(--line);background:white;color:var(--muted);font-size:18px;width:32px;height:32px;border-radius:7px;cursor:pointer}.empty{min-height:260px;border:1px dashed #dbe5df;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted)}.empty>span{font-size:25px;color:#a1baaa;margin-bottom:10px}.empty b{font-size:12px;color:var(--ink)}.empty p{font-size:10px;margin:6px 0}.record{border-top:1px solid var(--line);padding:13px 0;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}.record:first-child{border-top:0}.record img,.record-placeholder{width:48px;height:48px;border-radius:7px;object-fit:cover;background:#edf3ef;display:grid;place-items:center;color:#81a18e;font-size:17px}.record-main b{display:block;font-size:12px}.record-main small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.record-main p{color:#8b9892;font-size:10px;margin:4px 0 0}.record-side{text-align:left}.expiry{font-size:10px;font-weight:600;color:var(--green)}.record-side button{display:block;margin:8px auto 0 0;border:0;background:none;color:#638177;font-size:10px;cursor:pointer;padding:0}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 0 24px;color:#95a29c;font-size:9px}footer span:first-child{letter-spacing:1.5px;font-weight:700;color:#70867b}@media(max-width:720px){.topbar{height:60px;padding:0 20px}.top-note{font-size:10px}main{padding:0 18px}.intro{min-height:255px}.intro h1{font-size:42px}.lede{font-size:12px;max-width:350px}.intro-art{position:absolute;left:-120px;opacity:.3;transform:scale(.8);pointer-events:none}.layout{grid-template-columns:1fr;gap:16px;padding-top:20px}.form-card,.records-panel{padding:20px}.records{max-height:500px;overflow:auto}}@media(max-width:420px){.intro h1{font-size:36px}.intro-art{left:-153px}.fields{grid-template-columns:1fr}.full{grid-column:auto}.layout{padding-bottom:45px}}
@media print{@page{size:100mm 70mm;margin:0}@page sheet{size:A4 portrait;margin:5mm}body{background:#fff}body>*:not(#print-card){display:none!important}#print-card.printing{display:block!important;position:relative;width:100mm;height:70mm;padding:7mm 8mm;border:1px solid #7d9288;color:#17332c;font-family:Arial,sans-serif;direction:rtl;overflow:hidden}.print-brand{font-size:9pt;font-weight:bold;color:#1c6255;border-bottom:1px solid #b9c9c0;padding-bottom:3mm}#print-card h1{font-size:17pt;line-height:1.15;margin:4mm 0 3mm}.print-field{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d8e1dc;padding:2.3mm 0;font-size:10pt}.print-field b{font-size:12pt}.print-notes{font-size:9pt;margin-top:2mm}.print-foot{position:absolute;bottom:4mm;left:8mm;color:#63776d;font-size:8pt}#print-card.printing.print-all-mode{page:sheet;display:grid!important;grid-template-columns:repeat(2,100mm);align-content:start;width:200mm;height:auto;padding:0;border:0;overflow:visible}.print-item{position:relative;width:100mm;height:70mm;padding:7mm 8mm;border:1px solid #7d9288;overflow:hidden;break-inside:avoid;color:#17332c}.record-tools{display:flex;align-items:center;gap:7px}.print-all-button{height:32px;padding:0 10px;border:1px solid #cbd9d1;border-radius:7px;background:#f5f9f6;color:#1c6255;font:600 10px 'DM Sans',sans-serif;cursor:pointer}}
#print-card{display:none}.record-tools{display:flex;align-items:center;gap:7px}.print-all-button{height:32px;padding:0 10px;border:1px solid #cbd9d1;border-radius:7px;background:#f5f9f6;color:#1c6255;font:600 10px 'DM Sans',sans-serif;cursor:pointer}
.booting>*{visibility:hidden}.login-panel{display:none}.logged-out>*:not(#login-panel){display:none!important}.logged-out .login-panel,.login-panel.login-error{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#f6f8f5;padding:22px}.login-box{width:min(100%,390px);background:#fff;border:1px solid var(--line);border-radius:15px;padding:30px;box-shadow:0 12px 36px #244a3b10}.login-box>.brand-mark{margin-bottom:20px}.login-box .eyebrow{margin-bottom:7px}.login-box h1{font:600 26px 'Playfair Display',serif;margin:0 0 8px}.login-box>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.7}.login-box label{display:block;font-size:11px;font-weight:600;margin-top:15px}.login-box input{width:100%;display:block;margin-top:7px;padding:12px;border:1px solid #dfe7e2;border-radius:7px;font:12px 'DM Sans',sans-serif;direction:ltr;text-align:left}.sign-out{border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:white;color:var(--muted);font:11px 'DM Sans',sans-serif;cursor:pointer}.sign-out[hidden]{display:none}

@media print {
  @page { size: A4 landscape; margin: 5mm; }
  html, body { width: 100%; min-height: 0; margin: 0; background: #fff; }
  body { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body > *:not(#print-card) { display: none !important; }
  #print-card.printing {
    display: block !important; position: static; width: 287mm; height: 200mm;
    margin: 0; padding: 0; border: 0; overflow: visible; color: #111;
  }
  .single-print-page {
    width: 287mm; height: 200mm; display: grid; place-items: center;
    break-after: avoid; page-break-after: avoid;
  }
  #print-card.printing.print-all-mode {
    display: block !important; width: 287mm; height: auto; margin: 0;
    padding: 0; border: 0; overflow: visible; page: auto !important;
  }
  .print-page {
    width: 287mm; height: 200mm; display: grid;
    grid-template-columns: repeat(3, 90mm);
    grid-template-rows: repeat(2, 49mm);
    gap: 2mm; place-content: center;
    break-after: page; page-break-after: always;
  }
  .print-page:last-child { break-after: auto; page-break-after: auto; }
  .print-item {
    position: relative; width: 90mm; height: 49mm; margin: 0;
    padding: 0; border: 0; overflow: hidden;
    break-inside: avoid; color: #111; background: #fff;
    font-family: Tahoma, Arial, sans-serif; direction: rtl;
  }
  .medicine-label {
    display: flex; flex-direction: column; width: 100%; height: 100%;
    color: #111; direction: rtl; font-family: Tahoma, Arial, sans-serif;
  }
  .label-heading {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; min-height: 6mm; font-size: 5.5pt;
    line-height: 1.05; font-weight: 700; padding: 0 8mm 0 0;
    transform: translateX(7mm); text-align: center;
  }
  .label-title {
    margin: 0 0 0.8mm; text-align: center; font-size: 13pt;
    line-height: 1.05; font-weight: 800;
  }
  .label-name-row {
    display: grid; grid-template-columns: 29mm 1fr; min-height: 5.8mm;
    border: 1px solid #333; border-bottom: 0; align-items: stretch;
  }
  .label-caption {
    display: flex; align-items: center; justify-content: center;
    padding: 0 0.7mm; text-align: center; font-size: 6.5pt; font-weight: 700;
  }
  .label-name-row .label-caption { border-left: 1px solid #333; }
  .label-value {
    display: flex; align-items: center; min-width: 0; padding: 0 2mm;
    font-size: 7pt; font-weight: 600; overflow-wrap: anywhere;
  }
  .label-details-row {
    display: grid; grid-template-columns: 17mm 1fr 19mm 1.45fr;
    min-height: 6.5mm; border: 1px solid #333; align-items: stretch;
  }
  .label-details-row .label-caption { font-size: 5.5pt; }
  .label-details-row .label-value { font-size: 6pt; }
  .label-details-row .label-caption { border-left: 1px solid #333; }
  .label-details-row .label-value { border-left: 1px solid #333; }
  .label-bottom-row {
    display: grid; grid-template-columns: 37mm 1fr; flex: 1; min-height: 0;
    border: 1px solid #333; border-top: 0;
  }
  .label-expiry {
    display: flex; flex-direction: column; align-items: center; gap: 5mm;
    padding: 1mm; border-left: 1px solid #333;
  }
  .label-expiry .label-caption { font-size: 7pt; }
  .label-expiry strong { font-size: 9pt; }
  .label-storage { display: flex; flex-direction: column; padding: 1mm; }
  .label-storage > .label-caption { justify-content: flex-start; font-size: 7pt; }
  .storage-ovals {
    flex: 1; display: grid; grid-template-columns: repeat(2, 18mm);
    grid-template-rows: repeat(2, 6mm); gap: 1mm 4mm;
    justify-content: center; align-content: center;
  }
  .storage-ovals span { width: 18mm; height: 6mm; border: 1px solid #222; border-radius: 50%; }
}
