:root{--ink:#101416;--muted:#5c6366;--bg:#fbf8f3;--card:#fff;--accent:#8f3626;--line:#00000020}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:system-ui,Hind Siliguri,sans-serif;line-height:1.45}a{color:var(--accent)}main{max-width:1100px;margin:0 auto;padding:16px}main.narrow{max-width:420px}.bar{background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;display:flex}.bar nav{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.menu-group{position:relative}.menu-group>summary{cursor:pointer;border-radius:6px;padding:6px 10px;font-weight:600;list-style:none}.menu-group>summary::-webkit-details-marker{display:none}.menu-group>summary:after{content:" ▾";font-size:.75em}.menu-group[open]>summary{background:#00000010}.menu-panel{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:200px;margin-top:4px;padding:6px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 6px 18px #0002}.menu-panel a{color:var(--ink);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:flex}.menu-panel a:hover,.menu-panel a:focus-visible{background:#00000010}@media (max-width:640px){.bar{gap:8px;position:relative}.bar nav{gap:4px}.menu-group{position:static}.menu-panel{min-width:0;margin-top:4px;position:absolute;top:auto;left:8px;right:8px}}.grow{flex:1}h1{margin:0 0 12px;font-size:1.5rem}h2{margin:20px 0 8px;font-size:1.1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:12px}table{border-collapse:collapse;background:var(--card);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}th{color:var(--muted);font-size:.8rem;font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums}.stack{flex-direction:column;gap:10px;display:flex}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll>table{min-width:640px}.row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}label{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}fieldset{min-width:0}.row>label{min-width:0;max-width:100%}select[multiple]{width:100%;max-width:100%}input,select,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #00000040;border-radius:6px;padding:8px}button,.btn{font:inherit;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}button.secondary,.btn.secondary{color:var(--ink);background:#fff}button.danger{background:#b3261e;border-color:#b3261e}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.error{color:#b3261e;font-weight:600}.badge{background:#00000012;border-radius:999px;padding:2px 8px;font-size:.8rem;display:inline-block}.warn{color:var(--accent);font-weight:600}.muted{color:var(--muted)}.print main{max-width:800px}@media print{.bar,.noprint{display:none!important}body{background:#fff}main{padding:0}}.invalid{box-shadow:0 0 0 1px #b3261e;border-color:#b3261e!important}.toasts{z-index:50;flex-direction:column;gap:8px;max-width:min(92vw,420px);display:flex;position:fixed;bottom:16px;right:16px}.toast{color:#fff;background:#101416;border-radius:8px;padding:10px 14px}.toast.err{background:#b3261e}.toast button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 4px}button:disabled{opacity:.6;cursor:wait}.tiles{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:12px;display:grid}.tiles .card{margin-bottom:0}.big{margin:4px 0;font-size:1.6rem;font-weight:700}.alert{color:#8a1f17;background:#fdecea;border:1px solid #f5c2c0;border-radius:8px;padding:8px 12px}.inline{gap:4px;margin-right:12px;display:inline-flex}.gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:0;list-style:none;display:grid}.gallery li{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:8px;display:flex}.gallery img{aspect-ratio:1;object-fit:cover;background:#eee;border-radius:6px;width:100%;height:auto}.dropzone{border:2px dashed var(--line);border-radius:8px;padding:12px}.dropzone.over{background:#f3f7ff;border-color:#6b8cff}.badge{background:#e8f5e9;border-radius:4px;padding:0 6px}.wrap{overflow-wrap:anywhere;word-break:break-word;max-width:40ch}
