:root{color-scheme:light; --bg-1:#eef6e3;--bg-2:#e0eecf;--bg-glow:rgba(63,157,74,.16);--bg-sun:rgba(214,168,44,.12); --panel:#ffffff;--panel-2:#f1f7ea; --border:#d6e3c8;--shadow:0 1px 2px rgba(24,49,27,.06),0 10px 28px rgba(24,49,27,.08);--row-hover:#f1f7ea; --ink:#1e2a1f;--muted:#5f7360; --brand:#2f7d3a;--brand-2:#23662d;--brand-ink:#ffffff;--accent:#b7791f; --credit:#1c7a41;--debit:#c0392b; --glass-bg:rgba(255,255,255,.18);--glass-brd:rgba(255,255,255,.45);--glass-hi:rgba(255,255,255,.40); --side-1:#245c2c;--side-2:#153e1c;--side-ink:#dcebda;--side-dim:#9cbf9f;--radius:10px; --field-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><g fill='none' stroke='%232f7d3a' stroke-opacity='.11' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M34 168V104'/><path d='M34 112c-9-3-14-11-14-18 7 1 12 7 14 18zM34 100c9-3 14-11 14-18-7 1-12 7-14 18zM34 90c-9-3-14-11-14-18 7 1 12 7 14 18zM34 80c9-3 14-11 14-18-7 1-12 7-14 18z'/><path d='M126 74c20-28 48-22 48-22s-4 34-32 40c-9 2-14-1-16-18z'/><path d='M126 74l44-30'/><path d='M96 172c-2-24 8-42 8-42'/><circle cx='150' cy='140' r='2.2' fill='%23b7791f' fill-opacity='.22' stroke='none'/><circle cx='70' cy='30' r='1.8' fill='%23b7791f' fill-opacity='.22' stroke='none'/></g></svg>")}:root[data-theme="dark"]{color-scheme:dark;--bg-1:#0f1712;--bg-2:#0a110c;--bg-glow:rgba(76,175,80,.14);--bg-sun:rgba(224,169,58,.06);--panel:#161f18;--panel-2:#1d2820;--border:#2b3a2e;--shadow:0 1px 2px rgba(0,0,0,.45),0 12px 34px rgba(0,0,0,.40);--row-hover:#1c271e;--ink:#e5eee2;--muted:#90a693;--brand:#49b657;--brand-2:#3aa247;--brand-ink:#07160a;--accent:#e0a93a;--credit:#55c67c;--debit:#e46a5f;--glass-bg:rgba(255,255,255,.06);--glass-brd:rgba(255,255,255,.16);--glass-hi:rgba(255,255,255,.18);--side-1:#173b1e;--side-2:#0b2410;--side-ink:#d2e6d3;--side-dim:#83a888;--field-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><g fill='none' stroke='%2349b657' stroke-opacity='.13' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M34 168V104'/><path d='M34 112c-9-3-14-11-14-18 7 1 12 7 14 18zM34 100c9-3 14-11 14-18-7 1-12 7-14 18zM34 90c-9-3-14-11-14-18 7 1 12 7 14 18zM34 80c9-3 14-11 14-18-7 1-12 7-14 18z'/><path d='M126 74c20-28 48-22 48-22s-4 34-32 40c-9 2-14-1-16-18z'/><path d='M126 74l44-30'/><path d='M96 172c-2-24 8-42 8-42'/><circle cx='150' cy='140' r='2.2' fill='%23b7791f' fill-opacity='.22' stroke='none'/><circle cx='70' cy='30' r='1.8' fill='%23b7791f' fill-opacity='.22' stroke='none'/></g></svg>")} :root[data-accent="orange"]{--bg-1:#fdf1e2;--bg-2:#fbe3c4;--bg-glow:rgba(224,101,26,.16);--bg-sun:rgba(224,169,58,.14);--panel:#ffffff;--panel-2:#fdf0dd;--border:#f0d2a8;--row-hover:#fdf0dd;--ink:#2c1c0e;--muted:#8a6a48;--brand:#d9691e;--brand-2:#b8500f;--brand-ink:#ffffff;--accent:#b7791f; --glass-bg:rgba(255,255,255,.30);--glass-brd:rgba(255,255,255,.60);--glass-hi:rgba(255,255,255,.60);--side-1:#c05f16;--side-2:#6e2f08;--side-ink:#fbe8d3;--side-dim:#d9a679;--field-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><g fill='none' stroke='%23d9691e' stroke-opacity='.13' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M34 168V104'/><path d='M34 112c-9-3-14-11-14-18 7 1 12 7 14 18zM34 100c9-3 14-11 14-18-7 1-12 7-14 18zM34 90c-9-3-14-11-14-18 7 1 12 7 14 18zM34 80c9-3 14-11 14-18-7 1-12 7-14 18z'/><path d='M126 74c20-28 48-22 48-22s-4 34-32 40c-9 2-14-1-16-18z'/><path d='M126 74l44-30'/><path d='M96 172c-2-24 8-42 8-42'/><circle cx='150' cy='140' r='2.2' fill='%23b7791f' fill-opacity='.28' stroke='none'/><circle cx='70' cy='30' r='1.8' fill='%23b7791f' fill-opacity='.28' stroke='none'/></g></svg>")}:root[data-theme="dark"][data-accent="orange"]{--bg-1:#1a120a;--bg-2:#120c06;--bg-glow:rgba(240,136,58,.14);--bg-sun:rgba(224,169,58,.06);--panel:#1f150c;--panel-2:#271b0f;--border:#3a2916;--row-hover:#241a0f;--ink:#f0e3d3;--muted:#b89572;--brand:#f0883a;--brand-2:#d96a1e;--brand-ink:#1a0f04;--accent:#e0a93a; --glass-bg:rgba(255,255,255,.11);--glass-brd:rgba(255,255,255,.30);--glass-hi:rgba(255,255,255,.32);--side-1:#5c2c0a;--side-2:#2a1404;--side-ink:#ecd9c2;--side-dim:#b98a5e;--field-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><g fill='none' stroke='%23f0883a' stroke-opacity='.13' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M34 168V104'/><path d='M34 112c-9-3-14-11-14-18 7 1 12 7 14 18zM34 100c9-3 14-11 14-18-7 1-12 7-14 18zM34 90c-9-3-14-11-14-18 7 1 12 7 14 18zM34 80c9-3 14-11 14-18-7 1-12 7-14 18z'/><path d='M126 74c20-28 48-22 48-22s-4 34-32 40c-9 2-14-1-16-18z'/><path d='M126 74l44-30'/><path d='M96 172c-2-24 8-42 8-42'/><circle cx='150' cy='140' r='2.2' fill='%23b7791f' fill-opacity='.22' stroke='none'/><circle cx='70' cy='30' r='1.8' fill='%23b7791f' fill-opacity='.22' stroke='none'/></g></svg>")} [data-accent="orange"] .panel::after,[data-accent="orange"] .target-card::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,var(--glass-hi),transparent 40%);opacity:.55;pointer-events:none}[data-accent="orange"] .panel,[data-accent="orange"] .target-card{position:relative;overflow:hidden}[data-accent="orange"] .panel,[data-accent="orange"] .stat,[data-accent="orange"] .target-card{box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi)}[data-accent="orange"] .sidebar{box-shadow:4px 0 24px rgba(0,0,0,.12),inset -1px 0 0 var(--glass-hi)}[data-accent="orange"] .btn,[data-accent="orange"] .btn-outline{filter:saturate(1.12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--field-pattern) 0 0 / 180px 180px repeat,radial-gradient(1100px 520px at 82% -12%,var(--bg-sun),transparent 60%),radial-gradient(920px 620px at -12% 8%,var(--bg-glow),transparent 55%),linear-gradient(178deg,var(--bg-1),var(--bg-2));background-attachment:fixed}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline} body,.sidebar,.panel,.stat,.target-card,.login-box,table,th,td,input,select,textarea,.btn,.badge{transition:background-color .28s ease,border-color .28s ease,color .28s ease,box-shadow .28s ease} .app{display:flex;min-height:100vh}.sidebar{ position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto;width:220px;flex-shrink:0;display:flex;flex-direction:column;padding:16px 0;color:var(--side-ink);background:linear-gradient(185deg,var(--side-1),var(--side-2));border-right:1px solid rgba(0,0,0,.25);box-shadow:4px 0 24px rgba(0,0,0,.12)}.sidebar::before{ content:"";position:absolute;inset:0;background:radial-gradient(380px 200px at 20% 0%,rgba(255,255,255,.10),transparent 70%);pointer-events:none}.sidebar > *{position:relative}.sidebar .brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;margin:0 12px 10px;padding:10px 12px 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}.sidebar .brand::before{content:"🌿";font-size:22px;line-height:1;margin-bottom:4px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4))}.sidebar .brand .brand-name{font-weight:800;font-size:21px;line-height:1.1;letter-spacing:.02em}.sidebar .brand .brand-sub{font-weight:600;font-size:11.5px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--side-dim)}.sidebar nav{flex:1;display:flex;flex-direction:column}.sidebar nav a{color:var(--side-ink);padding:9px 16px;display:block;box-shadow:inset 0 0 0 rgba(183,121,31,0);transition:background-color .18s ease,box-shadow .18s ease,padding-left .18s ease}.sidebar nav a:hover{background:rgba(255,255,255,.12);box-shadow:inset 3px 0 0 var(--accent);padding-left:20px;text-decoration:none}.sidebar nav a.active{background:rgba(255,255,255,.16);box-shadow:inset 3px 0 0 var(--accent);color:#fff;font-weight:600}.sidebar .nav-group{margin-top:12px;padding:6px 16px 2px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--side-dim)}.content{flex:1;min-width:0;padding:24px 32px;max-width:1200px} .page-footer{position:relative;overflow:hidden;margin:40px 0 8px;padding:15px 22px 13px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--border));border-radius:var(--radius);background:radial-gradient(120% 150% at 50% 0%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 70%),var(--panel-2);text-align:center;line-height:1.5}.page-footer::before{ content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--brand-2),var(--brand) 55%,var(--accent))}.page-footer .pf-line{display:block;font-size:12px;letter-spacing:.03em;color:var(--muted)}.page-footer .pf-line strong{color:color-mix(in srgb,var(--brand) 80%,var(--ink));font-weight:700;letter-spacing:.01em}.page-footer .pf-copy{margin-top:2px;font-size:11.5px} .panel-loading > :not(.toolbar){opacity:.55;transition:opacity .15s ease .1s}h1{font-size:22px;margin:0 0 18px}h2{font-size:17px;margin:24px 0 10px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.toolbar .actions{display:flex;gap:8px;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)} table{width:100%;border-collapse:collapse;background:var(--panel)}table.panel-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);font-size:13.5px}th{background:var(--panel-2);font-weight:600;color:color-mix(in srgb,var(--ink) 82%,transparent)}tr:last-child td{border-bottom:none}tbody tr:hover td,tr:hover td{background:var(--row-hover)}.num{text-align:right;font-variant-numeric:tabular-nums} .check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:7px 16px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);max-height:210px;overflow-y:auto}.check-grid label{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:normal;color:var(--ink);cursor:pointer}.check-grid input[type="checkbox"]{width:auto;margin:0;flex-shrink:0}.check-grid .check-all{grid-column:1 / -1;font-weight:600;padding-bottom:8px;margin-bottom:2px;border-bottom:1px solid var(--border)} tr.report-section td{background:var(--panel-2);font-weight:700;padding-top:12px;border-top:2px solid color-mix(in srgb,var(--brand) 45%,transparent)}tr.report-subtotal td{font-weight:600;background:color-mix(in srgb,var(--brand) 6%,transparent);border-bottom:2px solid var(--border)}tr.report-section:hover td,tr.report-subtotal:hover td{background:var(--row-hover)} .f24-table td{padding-top:4px;padding-bottom:4px}.f24-table .f24-cell{display:none}.f24-table.f24-editing .f24-view{display:none}.f24-table.f24-editing .f24-cell{display:inline-block}.f24-table.f24-editing input[type=checkbox].f24-cell{display:inline-block;width:auto}.f24-view.f24-edited{padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--accent) 14%,transparent);font-weight:600} input.f24-cr{padding:3px 6px;font-size:12.5px;border:1px dashed var(--border);border-radius:4px;background:var(--panel)}input.f24-cr:focus{border-style:solid;border-color:var(--accent)} input.f24-cr.f24-clash{border-style:solid;border-color:var(--danger,#b3261e);background:color-mix(in srgb,var(--danger,#b3261e) 10%,transparent)}input.f24-cell{padding:3px 6px;font-size:12.5px;text-align:right;border:1px solid var(--border);background:var(--panel)}input.f24-cell[type=text]{text-align:left}input.f24-cell:focus{border-color:var(--accent)}input.f24-cell.f24-edited{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600} .f24-table tr.f24-filters td{padding:4px 6px;background:var(--panel-2)}input.f24-filter{width:100%;min-width:5ch;padding:2px 6px;font-size:11.5px;font-weight:normal;border:1px solid var(--border);border-radius:4px;background:var(--panel)} #f24SaveBar[hidden],#f24FilterNote[hidden]{display:none !important}.f24-toolbar .check-grid{gap:4px 14px}.f24-toolbar .check-grid label{font-size:12.5px;font-weight:normal} .badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.badge-credit,.badge-delivered{background:color-mix(in srgb,var(--credit) 16%,transparent);border-color:color-mix(in srgb,var(--credit) 30%,transparent);color:var(--credit)}.badge-debit{background:color-mix(in srgb,var(--debit) 16%,transparent);border-color:color-mix(in srgb,var(--debit) 30%,transparent);color:var(--debit)}.badge-agent,.badge-pending{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:color-mix(in srgb,var(--accent) 88%,var(--ink))}.badge-cancelled{background:color-mix(in srgb,var(--muted) 20%,transparent);border-color:color-mix(in srgb,var(--muted) 32%,transparent);color:var(--muted)} .btn{position:relative;z-index:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:6px;vertical-align:middle;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--glass-brd);background:linear-gradient(180deg,var(--glass-hi),rgba(255,255,255,0) 46%),linear-gradient(180deg,var(--brand),var(--brand-2));color:var(--brand-ink);font-size:13.5px;font-weight:600;line-height:1.2;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi);transition:transform .16s ease,box-shadow .26s ease,filter .2s ease}.btn::before{ content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.38) 46%,transparent 62%);transform:translateX(-120%);transition:transform .6s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.06) saturate(1.05);text-decoration:none;box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 42%,transparent),inset 0 1px 0 var(--glass-hi)}.btn:hover::before{transform:translateX(120%)}.btn:active{transform:translateY(0) scale(.98)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-outline{background:var(--glass-bg);color:var(--brand);border-color:color-mix(in srgb,var(--brand) 38%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 var(--glass-hi)}.btn-outline:hover{background:color-mix(in srgb,var(--brand) 14%,var(--glass-bg));filter:none;box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 26%,transparent)}.btn-danger{background:linear-gradient(180deg,var(--glass-hi),rgba(255,255,255,0) 46%),linear-gradient(180deg,var(--debit),color-mix(in srgb,var(--debit) 74%,#000));border-color:rgba(255,255,255,.35);color:#fff}.btn-danger:hover{box-shadow:0 8px 24px color-mix(in srgb,var(--debit) 44%,transparent),inset 0 1px 0 var(--glass-hi)}.btn-sm{padding:4px 10px;font-size:12.5px}form.inline{display:inline} .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 20px}.form-grid.cols-1{grid-template-columns:1fr} .form-grid > *{min-width:0}.form-grid > .panel table.panel-table td,.form-grid > .panel table.panel-table th{overflow-wrap:anywhere} .form-grid > .panel .table-wrap > table.panel-table{min-width:0}.field{display:flex;flex-direction:column;gap:4px}.field label{font-weight:600;font-size:12.5px;color:color-mix(in srgb,var(--ink) 82%,transparent)}.field .hint{font-size:11.5px;color:var(--muted)}input,select,textarea{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;font-family:inherit;color:var(--ink);background:color-mix(in srgb,var(--panel) 92%,transparent)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:1px;border-color:var(--brand)}.form-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap} .alert{padding:10px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:13.5px;border:1px solid transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.alert-success{background:color-mix(in srgb,var(--credit) 13%,var(--panel));border-color:color-mix(in srgb,var(--credit) 38%,transparent);color:color-mix(in srgb,var(--credit) 82%,var(--ink))}.alert-error{background:color-mix(in srgb,var(--debit) 13%,var(--panel));border-color:color-mix(in srgb,var(--debit) 38%,transparent);color:color-mix(in srgb,var(--debit) 82%,var(--ink))}.alert-info{background:color-mix(in srgb,var(--brand) 12%,var(--panel));border-color:color-mix(in srgb,var(--brand) 36%,transparent);color:color-mix(in srgb,var(--brand) 82%,var(--ink))} .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}.stat{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.stat::after{ content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 22%,transparent),transparent 70%);pointer-events:none}a.stat{display:block;color:inherit;transition:transform .16s ease,border-color .2s ease,box-shadow .2s ease}a.stat:hover{text-decoration:none;transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 50%,var(--border));box-shadow:0 10px 26px color-mix(in srgb,var(--brand) 22%,transparent)}.stat .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat .value{font-size:24px;font-weight:700;margin-top:6px}.muted{color:var(--muted)}.text-right{text-align:right}.search-box input{width:260px;max-width:100%} .chips{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle}.chip{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;line-height:1.6;color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent);border:1px solid color-mix(in srgb,var(--muted) 24%,transparent);white-space:nowrap}a.chip:hover{text-decoration:none;color:var(--ink);border-color:color-mix(in srgb,var(--brand) 45%,transparent)}.chip-major{font-weight:600;color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent);border-color:color-mix(in srgb,var(--brand) 30%,transparent)}a.chip-major:hover{color:var(--brand-2)}.check-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 12px;max-height:190px;overflow-y:auto;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2)}.check-item{display:flex;align-items:center;gap:8px;font-weight:400;font-size:13px;cursor:pointer}.check-item input{width:auto;margin:0} .msg-preview{margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto} .commodity-groups{margin-bottom:20px}.commodity-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}.commodity-group > summary{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;list-style:none;background:var(--panel-2);font-size:14px}.commodity-group > summary::-webkit-details-marker{display:none}.commodity-group > summary::before{content:"▸";color:var(--muted);font-size:11px;transition:transform .15s ease}.commodity-group[open] > summary::before{transform:rotate(90deg)}.commodity-group > summary:hover{background:var(--row-hover)}.commodity-group .cg-name{font-weight:600;flex:1;min-width:0}.commodity-group .cg-meta{color:var(--muted);font-size:12.5px;white-space:nowrap}.commodity-group .cg-total{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:110px;text-align:right}.commodity-group > div{padding:0 14px 14px}.commodity-group table.panel-table{box-shadow:none}@media (max-width:640px){.commodity-group > summary{flex-wrap:wrap;gap:6px 10px}.commodity-group .cg-total{min-width:0}} .login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:radial-gradient(1000px 520px at 50% -18%,var(--bg-glow),transparent 60%),radial-gradient(700px 400px at 85% 110%,var(--bg-sun),transparent 60%),linear-gradient(178deg,var(--bg-1),var(--bg-2))}.login-box{width:340px;max-width:100%;padding:32px;border-radius:16px;border:1px solid var(--glass-brd);background:color-mix(in srgb,var(--panel) 80%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi)}.login-box h1{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px}.login-box h1::before{content:"🌿";font-size:28px;line-height:1;margin-bottom:6px}.login-box h1 .brand-name{font-size:26px;font-weight:800;line-height:1.1;letter-spacing:.02em}.login-box h1 .brand-sub{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)} .tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tabs a{padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a:hover{color:var(--ink);text-decoration:none}.tabs a.active{color:var(--brand);border-bottom-color:var(--brand)}.tabs a .count{color:var(--muted);font-weight:400}.tabs a.active .count{color:var(--brand)} .progress{background:var(--panel-2);border:1px solid var(--border);border-radius:99px;height:9px;overflow:hidden;margin-top:8px}.progress > span{display:block;height:100%;border-radius:99px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0) 60%),linear-gradient(90deg,var(--brand-2),var(--brand));transition:width .6s cubic-bezier(.2,.7,.2,1)}.progress.over > span{background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0) 60%),linear-gradient(90deg,color-mix(in srgb,var(--credit) 80%,#000),var(--credit))}.target-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.target-card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:var(--panel);box-shadow:var(--shadow)}.target-card .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.target-card .value{font-size:20px;font-weight:700;margin-top:4px}.target-card .sub{font-size:12px;color:var(--muted);margin-top:2px}.target-card .pct{font-weight:700}.pct-good{color:var(--credit)}.pct-mid{color:var(--accent)}.pct-low{color:var(--debit)} details.disclosure > summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:8px 16px;border:1px solid color-mix(in srgb,var(--brand) 38%,transparent);border-radius:var(--radius);background:var(--glass-bg);color:var(--brand);font-size:13.5px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}details.disclosure > summary::-webkit-details-marker{display:none}details.disclosure > summary::before{content:"▸";font-size:11px}details.disclosure[open] > summary::before{content:"▾"}details.disclosure > summary:hover{background:color-mix(in srgb,var(--brand) 12%,var(--glass-bg))}details.disclosure[open] > summary{border-bottom-left-radius:0;border-bottom-right-radius:0}details.disclosure .disclosure-body{border:1px solid var(--border);border-top:none;border-radius:0 var(--radius) var(--radius) var(--radius);overflow:hidden} .theme-switch{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:0;border:0;background:none;font:inherit;font-size:12px;color:var(--side-dim);cursor:pointer;user-select:none}.theme-switch .track{position:relative;width:42px;height:22px;flex-shrink:0;border-radius:999px;background:rgba(128,128,128,.28);border:1px solid rgba(128,128,128,.4);transition:background-color .25s ease}.theme-switch .thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.45);display:grid;place-items:center;font-size:10px;color:#b7791f;transition:transform .28s cubic-bezier(.4,.1,.2,1.5)}.theme-switch .thumb::after{content:"☀"}.theme-switch:hover .track{background:rgba(128,128,128,.4)}:root[data-theme="dark"] .theme-switch .track{background:color-mix(in srgb,var(--brand) 60%,transparent);border-color:color-mix(in srgb,var(--brand) 50%,transparent)}:root[data-theme="dark"] .theme-switch .thumb{transform:translateX(20px);color:#1f5c2a}:root[data-theme="dark"] .theme-switch .thumb::after{content:"☾"} .theme-switch.floating{position:fixed;top:16px;right:18px;color:var(--muted);z-index:10} .topbar{display:none}.sidebar-close{display:none}.sidebar-backdrop{display:none}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.table-wrap > table.panel-table{min-width:560px}.topbar{position:sticky;top:0;z-index:40;align-items:center;gap:12px;padding:8px 12px;color:#fff;background:linear-gradient(90deg,var(--side-1),var(--side-2));border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 4px 18px rgba(0,0,0,.14)}.topbar-brand{display:flex;align-items:baseline;gap:8px;min-width:0;color:#fff;text-decoration:none;text-shadow:0 1px 8px rgba(0,0,0,.35)}.topbar-brand:hover{text-decoration:none;color:#fff}.topbar-brand::before{content:"🌿";font-size:18px;align-self:center}.topbar-brand .brand-name{font-weight:800;font-size:18px;letter-spacing:.02em}.topbar-brand .brand-sub{font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--side-dim);white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} .sidebar .mandi-switch{margin:0 10px 8px}.sidebar .mandi-switch select{width:100%;padding:7px 26px 7px 10px;font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:8px;cursor:pointer}.sidebar .mandi-switch select:hover{background:rgba(255,255,255,.2)}.sidebar .mandi-switch select option{color:#1c1c1c} .sidebar .mandi-label{margin:0 10px 8px;padding:6px 10px;font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);border-radius:8px}.topbar-mandi{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;color:#fff;background:rgba(255,255,255,.16);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.nav-toggle{flex-shrink:0;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.10);cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.nav-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .22s ease,opacity .22s ease}body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.nav-open .nav-toggle span:nth-child(2){opacity:0}body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.sidebar-close{position:absolute;top:10px;right:10px;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.10);color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:2} .pjax-bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);box-shadow:0 0 8px var(--accent);opacity:0;z-index:200;pointer-events:none}.pjax-bar.run{width:85%;opacity:1;transition:width 8s cubic-bezier(0,.7,.2,1),opacity .1s ease}.pjax-bar.done{width:100%;opacity:0;transition:width .2s ease,opacity .35s ease .15s}@media (prefers-reduced-motion:reduce){.pjax-bar.run,.pjax-bar.done{transition:opacity .1s linear}} @media (max-width:900px){html{-webkit-text-size-adjust:100%}.app{flex-direction:column}.topbar{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,85vw);height:100dvh;padding-top:56px;overflow-y:auto;z-index:60;transform:translateX(-105%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:none}body.nav-open .sidebar{transform:none;box-shadow:8px 0 32px rgba(0,0,0,.35)}body.nav-open{overflow:hidden}.sidebar-close{display:inline-flex;align-items:center;justify-content:center}.sidebar nav a{padding:12px 16px;font-size:15px}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-backdrop[hidden]{display:none}.content{padding:16px;max-width:none;width:100%}h1{font-size:20px;margin-bottom:14px}h2{font-size:16px}.panel{padding:14px}.panel[style*="max-width"]{max-width:none !important} .form-grid,.form-grid[style*="grid-template-columns"]{grid-template-columns:1fr !important;gap:12px}.form-grid > [style*="grid-column"]{grid-column:auto !important}input,select,textarea{font-size:16px;padding:10px 12px}input[type="checkbox"],input[type="radio"]{width:20px;height:20px}.search-box input{width:100%}.form-actions .btn{flex:1 1 auto;text-align:center} .btn{min-height:40px}.btn-sm{min-height:34px} .toolbar{flex-direction:column;align-items:stretch}.toolbar .actions{width:100%}.toolbar .actions .btn{flex:1 1 auto;text-align:center}.toolbar form.inline,.toolbar .search-box{width:100%}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.stat{padding:12px 14px}.stat .value{font-size:20px}.target-row{gap:10px}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{white-space:nowrap}th,td{padding:8px 10px;font-size:13px}.table-wrap > table.panel-table{border-radius:0}.table-wrap{margin-left:-14px;margin-right:-14px;padding:0 14px}.panel > .table-wrap{margin-left:-14px;margin-right:-14px}.login-box{padding:24px 20px}} @media (max-width:480px){.content{padding:12px}.stat-row{grid-template-columns:repeat(2,1fr)}.topbar-brand .brand-sub{display:none}.table-wrap{margin-left:-12px;margin-right:-12px;padding:0 12px}.theme-switch.floating{top:10px;right:10px}} @media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}.btn:hover{transform:none}a.stat:hover{transform:none}}@media print{.sidebar,.topbar,.sidebar-backdrop,.no-print,.theme-switch{display:none !important}.content{padding:0;max-width:none}body{background:#fff;background-image:none}.panel,.stat,table.panel-table,.target-card{box-shadow:none}} main.content > h1{position:relative;display:inline-block;padding-bottom:8px}main.content > h1::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--brand) 0 55%,var(--accent) 55% 80%,transparent 80%)} .sidebar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:190px;pointer-events:none;opacity:.55;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='190' viewBox='0 0 220 190'><g fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M40 190V96'/><path d='M40 106c-11-4-17-13-17-22 8 1 15 9 17 22zM40 92c11-4 17-13 17-22-8 1-15 9-17 22zM40 80c-11-4-17-13-17-22 8 1 15 9 17 22zM40 68c11-4 17-13 17-22-8 1-15 9-17 22z'/><path d='M86 190V120'/><path d='M86 128c-9-3-14-11-14-18 7 1 12 7 14 18zM86 116c9-3 14-11 14-18-7 1-12 7-14 18zM86 106c-9-3-14-11-14-18 7 1 12 7 14 18z'/><path d='M150 190c-4-40 22-66 22-66'/><path d='M158 150c18-26 46-22 46-22s-3 32-29 39c-9 2-14-1-17-17z'/><path d='M158 150l42-28'/></g></svg>") center bottom / 220px 190px no-repeat}.sidebar nav a.active::before{content:"🌾";display:inline-block;margin-right:8px;font-size:13px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.sidebar .brand::before{transform-origin:50% 90%} .stat{position:relative;overflow:hidden;isolation:isolate; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease} .stat-spot{position:absolute;inset:0;z-index:-1; border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .28s ease;background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--accent) 24%,transparent) 0%,transparent 60%)}.stat.is-tilting{z-index:1; box-shadow:0 10px 30px rgba(24,49,27,.16),0 22px 55px rgba(47,125,58,.20);border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}.stat.is-tilting .stat-spot{opacity:1}.stat::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--brand-2),var(--brand) 55%,var(--accent))}.stat:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(24,49,27,.12),0 14px 40px rgba(47,125,58,.18);border-color:color-mix(in srgb,var(--brand) 40%,var(--border));text-decoration:none}.stat .value{font-variant-numeric:tabular-nums} .panel{position:relative}.panel::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--brand),var(--accent));opacity:.8;pointer-events:none} table.panel-table tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--brand)} .alert-success::before{content:"🌱 "} .progress > span{position:relative;overflow:hidden}.progress > span::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translateX(-100%)} main.content{position:relative;isolation:isolate} .dashboard-fx{position:absolute;left:0;right:0;top:0;height:320px;z-index:-1; width:100%;pointer-events:none;opacity:.58;-webkit-mask-image:linear-gradient(180deg,#000 46%,transparent);mask-image:linear-gradient(180deg,#000 46%,transparent)}@media (prefers-reduced-motion:reduce){.dashboard-fx{display:none}}@media print{.dashboard-fx{display:none !important}}@media (max-width:720px){.dashboard-fx{height:240px;opacity:.5}} .login-wrap{position:relative;overflow:hidden}.leaf-field{position:absolute;inset:0;pointer-events:none;overflow:hidden}.leaf-field span{position:absolute;top:-8vh;font-size:22px;opacity:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}.login-box{position:relative}.login-box::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:16px 16px 0 0;background:linear-gradient(90deg,var(--brand-2),var(--brand) 55%,var(--accent))} @media (prefers-reduced-motion:no-preference){@keyframes tl-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes tl-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes tl-sheen{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}@keyframes tl-fall{0%{opacity:0;transform:translate3d(0,0,0) rotate(0deg)}8%{opacity:.9}92%{opacity:.9}100%{opacity:0;transform:translate3d(var(--drift,40px),112vh,0) rotate(var(--spin,300deg))}}@keyframes tl-glow{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:var(--shadow),0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent)}}@keyframes tl-progress-lit{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 60%,transparent)}100%{box-shadow:0 0 0 9px transparent}} main.content.page-enter > *:not(.reveal):not(.dashboard-fx):not(.page-footer){animation:tl-rise .45s cubic-bezier(.2,.7,.2,1) both}main.content.page-enter > :nth-child(2){animation-delay:.05s}main.content.page-enter > :nth-child(3){animation-delay:.10s}main.content.page-enter > :nth-child(4){animation-delay:.15s}main.content.page-enter > :nth-child(5){animation-delay:.20s}main.content.page-enter > :nth-child(n+6){animation-delay:.25s} .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.7,.2,1)}.reveal.reveal-in{opacity:1;transform:none} .progress.lit{animation:tl-progress-lit .9s ease-out 1}.sidebar .brand::before{animation:tl-sway 5s ease-in-out infinite}.sidebar .brand:hover::before{animation-duration:1.4s}.progress > span::after{animation:tl-sheen 2.8s ease-in-out infinite}.leaf-field span{animation:tl-fall var(--dur,14s) linear var(--delay,0s) infinite}.login-box:focus-within{animation:tl-glow 2.4s ease-in-out infinite}.stat.stat-glow{animation:tl-glow 1.2s ease-out 1}} .tl-burst-bit{position:fixed;z-index:9999;pointer-events:none;font-size:15px;line-height:1;will-change:transform,opacity}@media (max-width:900px){.sidebar::after{height:120px;opacity:.35}}@media print{.sidebar::after,.leaf-field,.panel::before,.stat::before,main.content > h1::after{display:none !important}main.content.page-enter > *,.reveal{animation:none !important;opacity:1 !important;transform:none !important}} .content{padding-top:64px} .user-menu{position:fixed;top:14px;right:22px;z-index:70}.user-chip{display:inline-flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border-radius:99px;border:1px solid var(--glass-brd);background:color-mix(in srgb,var(--panel) 78%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:var(--shadow);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.user-chip:hover,.user-chip[aria-expanded="true"]{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 45%,var(--glass-brd));box-shadow:var(--shadow),0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}.user-chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.user-chip .avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,var(--brand),var(--accent));text-shadow:0 1px 2px rgba(0,0,0,.25);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}.user-chip .name{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6;transition:transform .18s ease}.user-chip[aria-expanded="true"] .caret{transform:translateY(2px) rotate(-135deg)}.user-pop{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;padding:8px;border-radius:14px;border:1px solid var(--glass-brd);background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow);transform-origin:top right}.user-pop[hidden]{display:none}.user-pop-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.user-pop-head .who{font-weight:700}.user-pop-head .role{font-size:12px;color:var(--muted);margin-top:2px}.user-pop .theme-switch{width:100%;padding:8px 10px;border-radius:8px;color:var(--ink)}.user-pop .theme-switch:hover{background:var(--row-hover)}.user-pop .logout{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;color:var(--debit);font-weight:600;text-decoration:none}.user-pop .logout:hover{background:color-mix(in srgb,var(--debit) 10%,transparent);text-decoration:none}@media (prefers-reduced-motion:no-preference){@keyframes tl-pop{from{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}.user-pop:not([hidden]){animation:tl-pop .16s ease-out}}@media (max-width:900px){.content{padding-top:16px} .user-menu{top:8px;right:10px;z-index:45}.user-chip{padding:4px 10px 4px 4px;color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.user-chip .name{max-width:120px}.user-pop{color:var(--ink)}}@media (max-width:480px){.content{padding-top:12px}.user-chip .name{display:none}.user-chip{padding-right:8px;gap:6px}}@media print{.user-menu{display:none !important}} @media (max-width:900px){body{font-size:13.5px} .topbar{padding:6px 10px;gap:8px}.nav-toggle{width:36px;height:36px;border-radius:8px;gap:4px}.topbar-brand .brand-name{font-size:16px}.topbar-brand .brand-sub{font-size:10.5px}.topbar-brand::before{font-size:16px}.sidebar{padding-top:50px;width:min(260px,82vw)}.sidebar .brand{margin:0 10px 6px;padding:8px 10px 10px}.sidebar .brand .brand-name{font-size:18px}.sidebar .brand::before{font-size:18px;margin-bottom:2px}.sidebar nav a{padding:9px 14px;font-size:14px}.sidebar .nav-group{margin-top:6px;padding:4px 14px 2px;font-size:10.5px}.sidebar::after{height:90px;opacity:.3} .user-menu{top:6px;right:8px}.user-chip{padding:3px 8px 3px 3px;gap:7px}.user-chip .avatar{width:28px;height:28px;font-size:11px}.user-chip .name{max-width:96px;font-size:13px}.user-pop{min-width:210px;padding:6px}.user-pop-head{padding:6px 8px 8px} .content{padding:12px}main.content > h1{font-size:18px;margin:0 0 10px;padding-bottom:6px}main.content > h1::after{height:2px}h2{font-size:15px;margin:16px 0 8px}p,.hint,.muted{line-height:1.35}.panel{padding:12px;border-radius:8px}.panel + .panel,.panel + .form-grid,.form-grid + .panel{margin-top:10px}.panel::before{top:8px;bottom:8px;width:2px}.toolbar{margin-bottom:10px;gap:8px}.toolbar .actions{gap:6px}.toolbar .actions .btn{flex:1 1 calc(50% - 6px)}.toolbar h1,.toolbar h2{margin-bottom:0}.btn{min-height:36px;padding:6px 12px;font-size:13px;border-radius:8px}.btn-sm{min-height:30px;padding:3px 9px;font-size:12px}.badge{padding:1px 7px;font-size:11px} .stat-row{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.stat{padding:10px 12px;border-radius:8px}.stat::before{height:3px}.stat .label{font-size:10.5px;letter-spacing:.03em}.stat .value{font-size:17px;margin-top:3px}.target-row{gap:8px}.target-card{padding:10px 12px}.target-card .label{font-size:10.5px}.target-card .value{font-size:16px}.target-card .sub{font-size:11.5px}.progress{height:7px;margin-top:6px} .form-grid,.form-grid[style*="grid-template-columns"]{gap:8px}.field{gap:3px}.field label{font-size:12px}.field .hint{font-size:11px}input,select,textarea{padding:8px 10px;border-radius:7px} .form-actions{margin-top:12px;gap:8px}.check-grid{gap:5px 10px;padding:8px 10px;max-height:170px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.check-grid label{font-size:13px;gap:6px}.check-grid .check-all{padding-bottom:6px} th,td{padding:6px 8px;font-size:12.5px}.table-wrap{margin-left:-12px;margin-right:-12px;padding:0 12px}.panel > .table-wrap{margin-left:-12px;margin-right:-12px}.table-wrap > table.panel-table{min-width:520px}tr.report-section td{padding-top:8px} .alert{padding:8px 10px;margin-bottom:10px;font-size:13px;border-radius:8px}.tabs a{padding:8px 10px;font-size:13px}.disclosure > summary{padding:8px 10px} .login-box{padding:20px 16px;border-radius:12px}.login-box h1{margin-bottom:14px}.leaf-field span{font-size:18px}}@media (max-width:480px){body{font-size:13px}.content{padding:10px}main.content > h1{font-size:17px}.panel{padding:10px}.stat-row{gap:6px}.stat{padding:8px 10px}.stat .value{font-size:16px}.toolbar .actions .btn{flex:1 1 100%}th,td{padding:5px 7px;font-size:12px}.table-wrap{margin-left:-10px;margin-right:-10px;padding:0 10px}.panel > .table-wrap{margin-left:-10px;margin-right:-10px}.user-chip .name{display:none}.user-chip{padding-right:6px;gap:0}} .stat{min-width:0} .stat .value{overflow-wrap:anywhere; line-height:1.15}@media (max-width:900px){.stat .value{font-size:clamp(13px,4.6vw,17px)}.stat.stat-wide{grid-column:1 / -1} .stat.stat-wide .value{font-size:clamp(15px,5.2vw,19px)}} .combo{position:relative}.combo .combo-input{width:100%;padding-right:30px}.combo-clear{position:absolute;top:0;right:0;height:34px;width:28px;border:0;background:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;border-radius:8px}.combo-clear:hover{color:var(--ink)}.combo-clear:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.combo-list{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);max-height:300px;overflow-y:auto;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.combo-option{display:flex;align-items:baseline;gap:8px;padding:7px 9px;border-radius:7px;cursor:pointer;font-size:13.5px}.combo-option .who{font-weight:600;margin-right:auto}.combo-option .note{color:var(--muted);font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.combo-option .badge{padding:1px 7px;font-size:11px}.combo-option:hover,.combo-option.is-active{background:var(--row-hover)}.combo-option[aria-selected="true"]{box-shadow:inset 3px 0 0 var(--brand)}.combo-empty{padding:10px 9px;color:var(--muted);font-size:12.5px}@media (max-width:600px){.combo-list{max-height:240px}.combo-option{padding:9px}.combo-option .note{font-size:11px}} .search-wrap{position:relative;display:inline-flex;width:260px;max-width:100%;vertical-align:middle}.search-wrap input{width:100%;padding-right:26px}.search-clear{position:absolute;top:0;right:0;height:100%;width:26px;border:0;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;border-radius:8px}.search-clear:hover{color:var(--ink)}.search-clear:focus-visible{outline:2px solid var(--brand);outline-offset:-2px} .search-wrap.is-searching::after{content:"";position:absolute;top:50%;right:26px;width:12px;height:12px;margin-top:-6px;border:2px solid color-mix(in srgb,var(--brand) 30%,transparent);border-top-color:var(--brand);border-radius:50%;animation:tl-search-spin .6s linear infinite;pointer-events:none}@keyframes tl-search-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.search-wrap.is-searching::after{animation:none;opacity:.6}}@media (max-width:900px){.search-wrap{width:100%}} :root{--radius:12px;--radius-sm:9px;--radius-lg:18px;--shadow-sm:0 1px 2px rgba(16,32,20,.06);--shadow:0 1px 2px rgba(16,32,20,.04),0 8px 20px -6px rgba(16,32,20,.10),0 20px 44px -14px rgba(16,32,20,.10);--shadow-lg:0 2px 6px rgba(16,32,20,.06),0 26px 60px -14px rgba(16,32,20,.18);--ring:0 0 0 3px color-mix(in srgb,var(--brand) 24%,transparent);--hairline:color-mix(in srgb,var(--brand) 12%,var(--border))}:root[data-theme="dark"]{--shadow-sm:0 1px 2px rgba(0,0,0,.5);--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 28px -8px rgba(0,0,0,.6);--shadow-lg:0 2px 8px rgba(0,0,0,.5),0 30px 66px -16px rgba(0,0,0,.72);--hairline:color-mix(in srgb,var(--brand) 20%,var(--border))} body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;letter-spacing:-0.006em}h1,h2,h3{letter-spacing:-0.021em;text-wrap:balance} .panel,.stat,.target-card{border-color:var(--hairline)}.panel{box-shadow:var(--shadow)}.panel::before{top:14px;bottom:14px;opacity:.5;width:3px}.stat{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 4%,var(--panel)),var(--panel));box-shadow:var(--shadow)}.stat::before{height:3px}.stat .label{font-size:11px;font-weight:600;letter-spacing:.06em}@media (min-width:901px){.panel{border-radius:var(--radius-lg);padding:22px}.stat{border-radius:var(--radius-lg);padding:18px 20px}.stat .value{font-size:26px;letter-spacing:-0.022em;margin-top:8px}.target-card{border-radius:var(--radius)}} .btn,.btn-outline,.btn-danger{border-radius:var(--radius-sm);letter-spacing:.01em}.btn{box-shadow:var(--shadow-sm),inset 0 1px 0 var(--glass-hi)}.btn-sm{border-radius:8px} input,select,textarea{border-radius:var(--radius-sm);background:var(--panel);border-color:color-mix(in srgb,var(--ink) 16%,transparent)}input:focus,select:focus,textarea:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid transparent; outline-offset:2px;border-color:var(--brand);box-shadow:var(--ring)} table.panel-table{border-radius:var(--radius)}th{text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:700;color:var(--muted)}tbody tr{transition:background-color .12s ease} .alert{border-radius:var(--radius)}.tabs a.active{border-bottom-width:2.5px} :root[data-accent="ocean"],:root[data-accent="violet"],:root[data-accent="teal"],:root[data-accent="slate"]{--field-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><defs><pattern id='p' width='36' height='36' patternUnits='userSpaceOnUse'><circle cx='2.5' cy='2.5' r='1.3' fill='%23808080' fill-opacity='.22'/></pattern></defs><rect width='180' height='180' fill='url(%23p)'/></svg>")} :root[data-accent="ocean"]{--bg-1:#eef4fc;--bg-2:#dde9f7;--bg-glow:rgba(37,99,235,.16);--bg-sun:rgba(14,165,233,.10);--panel:#ffffff;--panel-2:#eef3fb;--border:#d3e0f0;--row-hover:#eef3fb;--ink:#15263c;--muted:#59697e;--brand:#2563eb;--brand-2:#1d4ed8;--brand-ink:#ffffff;--accent:#0891b2;--glass-bg:rgba(255,255,255,.20);--glass-brd:rgba(255,255,255,.50);--glass-hi:rgba(255,255,255,.45);--side-1:#1e3a8a;--side-2:#10204f;--side-ink:#dbe6fb;--side-dim:#93a9d6}:root[data-theme="dark"][data-accent="ocean"]{--bg-1:#0b1220;--bg-2:#060b15;--bg-glow:rgba(59,130,246,.18);--bg-sun:rgba(14,165,233,.07);--panel:#101a2b;--panel-2:#16233a;--border:#263850;--row-hover:#17243c;--ink:#e2e9f5;--muted:#94a5be;--brand:#4f8ef7;--brand-2:#3b7de0;--brand-ink:#04122b;--accent:#22b8d8;--glass-bg:rgba(255,255,255,.06);--glass-brd:rgba(255,255,255,.16);--glass-hi:rgba(255,255,255,.18);--side-1:#17295c;--side-2:#0a1434;--side-ink:#d6e2fa;--side-dim:#8296c2} :root[data-accent="violet"]{--bg-1:#f4f0fd;--bg-2:#e7ddf9;--bg-glow:rgba(124,58,237,.16);--bg-sun:rgba(192,38,211,.10);--panel:#ffffff;--panel-2:#f4eefc;--border:#e2d6f3;--row-hover:#f4eefc;--ink:#251a39;--muted:#6a5e80;--brand:#7c3aed;--brand-2:#6d28d9;--brand-ink:#ffffff;--accent:#c026d3;--glass-bg:rgba(255,255,255,.20);--glass-brd:rgba(255,255,255,.50);--glass-hi:rgba(255,255,255,.45);--side-1:#4c1d95;--side-2:#2c0f63;--side-ink:#e8ddfb;--side-dim:#b9a6e0}:root[data-theme="dark"][data-accent="violet"]{--bg-1:#150f23;--bg-2:#0e0a19;--bg-glow:rgba(139,92,246,.18);--bg-sun:rgba(217,70,239,.07);--panel:#181226;--panel-2:#201934;--border:#352a4f;--row-hover:#221b38;--ink:#e9e2f6;--muted:#a596bf;--brand:#9d6bf5;--brand-2:#8b53ef;--brand-ink:#120428;--accent:#e05ae6;--glass-bg:rgba(255,255,255,.06);--glass-brd:rgba(255,255,255,.16);--glass-hi:rgba(255,255,255,.18);--side-1:#3b1d78;--side-2:#1f0d49;--side-ink:#e2d6f9;--side-dim:#a48fce} :root[data-accent="teal"]{--bg-1:#e8f6f3;--bg-2:#d3ece7;--bg-glow:rgba(13,148,136,.16);--bg-sun:rgba(45,212,191,.11);--panel:#ffffff;--panel-2:#e8f5f1;--border:#cae4de;--row-hover:#e8f5f1;--ink:#11302b;--muted:#4e6f68;--brand:#0d9488;--brand-2:#0f766e;--brand-ink:#ffffff;--accent:#d97706;--glass-bg:rgba(255,255,255,.20);--glass-brd:rgba(255,255,255,.50);--glass-hi:rgba(255,255,255,.45);--side-1:#115e59;--side-2:#0a3b38;--side-ink:#d3ebe7;--side-dim:#8fbdb6}:root[data-theme="dark"][data-accent="teal"]{--bg-1:#081614;--bg-2:#04100e;--bg-glow:rgba(20,184,166,.17);--bg-sun:rgba(45,212,191,.07);--panel:#0f1e1c;--panel-2:#152826;--border:#254340;--row-hover:#162927;--ink:#dcefec;--muted:#8aa9a3;--brand:#22c3b2;--brand-2:#16a99a;--brand-ink:#03201d;--accent:#e0a93a;--glass-bg:rgba(255,255,255,.06);--glass-brd:rgba(255,255,255,.16);--glass-hi:rgba(255,255,255,.18);--side-1:#0e4d49;--side-2:#052b29;--side-ink:#d0ebe7;--side-dim:#7fada7} :root[data-accent="slate"]{--bg-1:#f1f3f7;--bg-2:#e3e8ef;--bg-glow:rgba(71,85,105,.13);--bg-sun:rgba(100,116,139,.09);--panel:#ffffff;--panel-2:#eef1f6;--border:#dae0e9;--row-hover:#eef1f6;--ink:#1b232e;--muted:#5b6673;--brand:#475569;--brand-2:#334155;--brand-ink:#ffffff;--accent:#2563eb;--glass-bg:rgba(255,255,255,.22);--glass-brd:rgba(255,255,255,.52);--glass-hi:rgba(255,255,255,.48);--side-1:#2b3440;--side-2:#161b23;--side-ink:#dde3ec;--side-dim:#9aa6b6}:root[data-theme="dark"][data-accent="slate"]{--bg-1:#0c0f14;--bg-2:#07090d;--bg-glow:rgba(100,116,139,.15);--bg-sun:rgba(148,163,184,.06);--panel:#14181f;--panel-2:#1b212a;--border:#2c3542;--row-hover:#1c232d;--ink:#e4e8ee;--muted:#99a4b3;--brand:#94a3b8;--brand-2:#7c8ba1;--brand-ink:#12151b;--accent:#4f8ef7;--glass-bg:rgba(255,255,255,.05);--glass-brd:rgba(255,255,255,.14);--glass-hi:rgba(255,255,255,.16);--side-1:#232a34;--side-2:#12151b;--side-ink:#dde3ec;--side-dim:#8b96a6} .user-pop-label{padding:10px 10px 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.skin-picker{display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px 6px}.skin-swatch{width:26px;height:26px;padding:0;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer;display:inline-grid;place-items:center;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.skin-swatch > span[aria-hidden]{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}.skin-swatch:hover{transform:translateY(-1px)}.skin-swatch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.skin-swatch[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.skin-green > span[aria-hidden]{background:linear-gradient(135deg,#2f7d3a,#b7791f)}.skin-orange > span[aria-hidden]{background:linear-gradient(135deg,#d9691e,#f0a13a)}.skin-ocean > span[aria-hidden]{background:linear-gradient(135deg,#2563eb,#0891b2)}.skin-violet > span[aria-hidden]{background:linear-gradient(135deg,#7c3aed,#c026d3)}.skin-teal > span[aria-hidden]{background:linear-gradient(135deg,#0d9488,#2dd4bf)}.skin-slate > span[aria-hidden]{background:linear-gradient(135deg,#475569,#94a3b8)}@media (prefers-reduced-motion:reduce){.skin-swatch{transition:none}.skin-swatch:hover{transform:none}} .logbook-table td{vertical-align:top}.logbook-table .badge{white-space:nowrap}.logbook-table td:nth-child(5){min-width:220px} .mandi-photo{width:72px;height:72px;flex:none;object-fit:contain;border-radius:8px}.mandi-photo-initials{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:24px;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--brand)}.mandi-photo-sm{width:34px;height:34px;font-size:12px}.mandi-photo-current{display:flex;align-items:center;gap:14px;margin-bottom:14px}.mandi-cell{display:flex;align-items:center;gap:10px}.mandi-photo-remove{margin-top:12px} .user-menu{display:flex;align-items:center;gap:10px}.ist-clock{align-self:stretch; display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:3px 14px;border-radius:14px;border:1px solid var(--glass-brd);background:color-mix(in srgb,var(--panel) 78%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:var(--shadow);color:var(--ink);line-height:1.2;white-space:nowrap}.ist-row{display:inline-flex;align-items:center;gap:6px}.ist-time{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums; letter-spacing:.01em}.ist-zone{padding:1px 6px;border-radius:99px;font-size:9.5px;font-weight:800;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,var(--brand),var(--accent))}.ist-date{font-size:11px;font-weight:600;color:var(--muted)}@media (max-width:900px){ .topbar{padding-right:calc(var(--tl-menu-w,0px) + 18px)}.topbar-brand{flex-shrink:0} .topbar-mandi.is-cramped{visibility:hidden} .user-menu{gap:8px}.ist-clock{padding:2px 10px;color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ist-time{font-size:13px}.ist-date{font-size:10px;color:var(--side-dim)}}@media (max-width:480px){.ist-date,.ist-sec{display:none} .ist-clock{padding:0 8px;border-radius:99px}.ist-zone{font-size:9px;padding:1px 5px}}