:root{--pink:#cc1c75;--pink-dark:#a8175f;--pink-soft:#fde8f2;--blue:#2f66ba;--grey:#878788;--ink:#1f2330;--muted:#5f6475;--bg:#f5f5f7;--card:#fff;--line:#ececf0;--danger:#d32f2f;--ok:#2e7d32;--warn:#995c00;--radius:14px;--shadow:0 1px 2px #1f23300f, 0 4px 16px #1f23300f;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1{letter-spacing:-.01em;margin:.25rem 0;font-size:1.6rem;font-weight:700}a{color:var(--pink);font-weight:500;text-decoration:none}a:hover{text-decoration:underline}code{background:var(--pink-soft);word-break:break-all;border-radius:6px;padding:.1rem .4rem}hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.brandbar{z-index:10;background:var(--pink);color:#fff;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.6rem 1.25rem;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #e22f8959}.brandbar .logo{color:#fff;white-space:nowrap;align-items:center;gap:.75rem;font-size:1.15rem;font-weight:700;display:flex}.brandbar .logo:hover{text-decoration:none}.brandbar .logo img{filter:brightness(0)invert();height:34px}.brandbar nav{scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.brandbar nav a{color:#fff;white-space:nowrap;border-radius:999px;padding:.45rem .9rem;font-weight:500;transition:background .15s}.brandbar nav a:hover{background:#ffffff2e;text-decoration:none}.brandbar nav a.active{color:var(--pink);background:#fff;font-weight:600}.brandbar .user{opacity:.95;align-items:center;gap:.75rem;margin-left:auto;font-size:.9rem;display:flex}.brandbar .user button{box-shadow:none;background:0 0;border:1.5px solid #fffc}.brandbar .user button:hover{color:var(--pink);background:#fff}.brandbar select{color:var(--ink)}.brandbar :focus-visible{outline-color:#fff}main{max-width:1150px;margin:0 auto;padding:1.5rem 1.25rem 3rem;animation:.25s ease-out fade}.narrow{background:var(--card);border-radius:var(--radius);max-width:440px;box-shadow:var(--shadow);margin:3rem auto;padding:2rem}@keyframes fade{0%{opacity:0;transform:translateY(6px)}}input,select,button{font:inherit}input,select{color:var(--ink);background:#fff;border:1.5px solid #8a8f9c;border-radius:10px;max-width:100%;padding:.55rem .75rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--pink);outline:none;box-shadow:0 0 0 3px #e22f892e}input[type=file]{cursor:pointer;border-style:dashed;padding:.45rem}input[type=checkbox]{accent-color:var(--pink);width:1.1rem;height:1.1rem}label{font-weight:500}.narrow input:not([type=checkbox]){width:100%;margin-top:.25rem}button{background:var(--pink);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:.55rem 1.2rem;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 6px #e22f894d}button:hover:not(:disabled){background:var(--pink-dark);box-shadow:0 4px 12px #e22f8959}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.ghost{color:var(--ink);box-shadow:none;background:#fff;border:1.5px solid #dcdce3}button.ghost:hover:not(:disabled){background:var(--pink-soft);border-color:var(--pink);color:var(--pink);box-shadow:none}button.blue{background:var(--blue);box-shadow:0 2px 6px #3d7bd94d}button.blue:hover:not(:disabled){background:#2856a0}.narrow>button,.narrow form>button{width:100%;padding:.75rem}:focus-visible{outline-offset:2px;outline:3px solid #e22f8973}form.row,.row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0;display:flex}.row h1{margin-right:auto}table{border-collapse:separate;border-spacing:0;background:var(--card);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:clip}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#fafafc;font-size:.78rem;font-weight:600}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.7rem .9rem}tbody tr{transition:background .12s}tbody tr:hover{background:var(--pink-soft)}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.scroll{border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card);overflow:auto}.scroll.tall{max-height:max(16rem,100dvh - 13rem)}.scroll table{box-shadow:none;border-radius:0;display:table;overflow:visible}.scroll th{z-index:1;position:sticky;top:0}th button.sort{all:unset;cursor:pointer}th button.sort:focus-visible{outline:3px solid #e22f8973}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin:1.25rem 0;display:grid}.tile{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--pink);color:var(--muted);padding:1rem 1.25rem;font-weight:500;transition:transform .15s,box-shadow .15s}.tile:hover{transform:translateY(-3px);box-shadow:0 8px 24px #1f23301a}.tile b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:2rem;line-height:1.2;display:block}.tile.low{border-top-color:var(--danger)}.tile.low b{color:var(--danger)}.chart{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.error{color:var(--danger)}.low{color:var(--danger);font-weight:600}.ok{color:var(--ok)}.pending{color:var(--warn);font-weight:600}.alert{color:#fff;background:var(--danger);border-radius:10px;padding:.85rem 1.1rem;font-weight:600;animation:.35s shake;box-shadow:0 4px 14px #d32f2f4d}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (width<=760px){.brandbar{gap:.5rem;padding:.5rem .75rem}.brandbar nav{order:3;width:100%}.brandbar .email{display:none}main{padding:1rem .75rem 2rem}.narrow{margin:1rem;padding:1.25rem}h1{font-size:1.3rem}table{white-space:nowrap;display:block;overflow-x:auto}.tiles{grid-template-columns:repeat(2,1fr);gap:.6rem}.tile b{font-size:1.5rem}.hide-sm{display:none}.row>input[type=search]{flex:100%}table.cards,table.cards tbody,table.cards tr,table.cards td{white-space:normal;display:block}table.cards{box-shadow:none;background:0 0;overflow:visible}table.cards thead{display:block}table.cards thead tr{box-shadow:none;background:0 0;flex-wrap:wrap;gap:.4rem;padding:0;display:flex}table.cards th{background:var(--card);box-shadow:var(--shadow);border:0;border-radius:999px;padding:.3rem .7rem;font-size:.72rem}table.cards th:not(:has(button.sort)){display:none}table.cards tr{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:.75rem;padding:.5rem 1rem}table.cards td{text-align:left;overflow-wrap:anywhere;border:0;padding:.35rem 0}table.cards td[data-label]:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600;display:block}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}dialog{width:min(820px,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);border:none;border-radius:16px;padding:1.5rem;box-shadow:0 20px 60px #00000040}dialog[open]{flex-direction:column;display:flex;overflow:hidden}dialog>*{flex:none}dialog>.scroll{flex:0 auto;min-height:6rem}dialog>.alert{flex:0 auto;min-height:3rem;overflow:auto}dialog h2{margin:0 0 .5rem}dialog p{margin:.5rem 0}dialog td:first-child{width:100%}dialog select{width:100%;min-width:7rem}dialog input[type=number]{width:6rem}dialog::backdrop{background:#14141e73}@media (width<=760px){dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:1rem}dialog th,dialog td{padding:.5rem .3rem}dialog h2{font-size:1.15rem}dialog input[type=number]{width:4.5rem}dialog td button{padding:.4rem .6rem}dialog th{letter-spacing:0;font-size:.7rem}dialog select{min-width:6rem}}
