:root{--ivory:#faf6ee;--paper:#fffdf8;--ink:#1c1a15;--ink-soft:#4c463a;--ink-faint:#8a8272;--gold:#b08a3e;--gold-deep:#8f6d2a;--gold-wash:#f3ead6;--line:#e4dcc9;--green:#3e6b45;--green-wash:#e7efe6;--red:#9c3b2e;--red-wash:#f6e6e1;--amber-wash:#f6efdd;--shadow:0 1px 2px #1c1a150d, 0 8px 28px -12px #1c1a1524;--serif:"Fraunces", Georgia, serif;--sans:"Archivo", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);background-image:radial-gradient(circle at 12% -4%,#b08a3e12,#0000 42%);min-height:100vh;font-size:15px;line-height:1.55}::selection{background:var(--gold-wash)}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1}a{color:var(--gold-deep)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink)}.shell{max-width:1080px;margin:0 auto;padding:0 28px 80px}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:34px;padding:22px 0 18px;display:flex}.brand{align-items:center;gap:16px;display:flex}.adlogo{width:auto;height:40px;display:block}.adlogo.login{height:48px;margin-bottom:18px}.brand .wordmark{border-left:1px solid var(--line);padding-left:16px}.wordmark{flex-direction:column;line-height:1;display:flex}.wordmark b{font-family:var(--serif);letter-spacing:.01em;font-size:1.35rem;font-weight:700}.wordmark b em{color:var(--gold-deep);font-style:normal}.wordmark span{text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);margin-top:5px;font-size:.62rem}nav.mainnav{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}nav.mainnav a{color:var(--ink-soft);border:1px solid #0000;border-radius:999px;padding:7px 13px;font-size:.88rem;text-decoration:none;transition:all .15s}nav.mainnav a:hover{color:var(--ink);background:var(--gold-wash)}nav.mainnav a.active{background:var(--ink);color:var(--ivory);border-color:var(--ink)}nav.mainnav a .dot{background:var(--gold);color:#fff;text-align:center;border-radius:999px;min-width:17px;margin-left:6px;padding:0 4px;font-size:.68rem;line-height:17px;display:inline-block}.userchip{color:var(--ink-soft);align-items:center;gap:12px;font-size:.85rem;display:flex}.userchip button{border:1px solid var(--line);color:var(--ink-soft);background:0 0;border-radius:999px;padding:5px 13px;font-size:.8rem}.userchip button:hover{border-color:var(--ink);color:var(--ink)}.demoflag{background:var(--ink);color:var(--gold-wash);text-align:center;letter-spacing:.06em;padding:7px 14px;font-size:.78rem}.demoflag b{color:#fff}.pagehead{margin-bottom:26px}.pagehead .kicker{text-transform:uppercase;letter-spacing:.24em;color:var(--gold-deep);margin-bottom:8px;font-size:.68rem}.pagehead h1{letter-spacing:-.01em;font-size:2.3rem}.pagehead p.sub{color:var(--ink-soft);max-width:62ch;margin-top:8px}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:22px}.grid2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (width<=780px){.grid2,.grid3{grid-template-columns:1fr}}.statrow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px}.stat .n{font-family:var(--serif);font-size:2.2rem;font-weight:600;line-height:1}.stat .n small{color:var(--ink-faint);font-size:1rem}.stat .l{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);margin-top:7px;font-size:.66rem}.stat.hit{border-color:var(--gold);background:linear-gradient(160deg, var(--paper), var(--gold-wash))}.badge{text-transform:uppercase;letter-spacing:.1em;border-radius:999px;padding:2px 10px;font-size:.7rem;font-weight:600;display:inline-block}.badge.pending{background:var(--amber-wash);color:var(--gold-deep)}.badge.approved{background:var(--green-wash);color:var(--green)}.badge.rejected{background:var(--red-wash);color:var(--red)}.badge.empty{color:var(--ink-faint);border:1px dashed var(--line);background:0 0}.btn{background:var(--ink);color:var(--ivory);border:1px solid var(--ink);border-radius:999px;padding:9px 20px;font-size:.88rem;font-weight:500;transition:all .15s}.btn:hover{background:var(--gold-deep);border-color:var(--gold-deep)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--gold-wash);color:var(--ink)}.btn.small{padding:5px 14px;font-size:.8rem}.btn.approve{background:var(--green);border-color:var(--green)}.btn.approve:hover{filter:brightness(1.15)}.btn.reject{color:var(--red);border-color:var(--red-wash);background:0 0}.btn.reject:hover{background:var(--red-wash)}.btn:disabled{opacity:.45;cursor:not-allowed}label.field{margin-bottom:14px;display:block}label.field span{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:5px;font-size:.7rem;display:block}label.field input,label.field select,label.field textarea{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:9px 12px}label.field textarea{resize:vertical;min-height:76px}label.field input:focus,label.field select:focus,label.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.hint{color:var(--ink-faint);margin-top:-8px;margin-bottom:14px;font-size:.78rem}.error{background:var(--red-wash);color:var(--red);border-radius:9px;margin-bottom:14px;padding:10px 14px;font-size:.85rem}.success{background:var(--green-wash);color:var(--green);border-radius:9px;margin-bottom:14px;padding:10px 14px;font-size:.85rem}table.tbl{border-collapse:collapse;width:100%}table.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:8px 10px;font-size:.66rem;font-weight:600}table.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 10px}table.tbl tr:last-child td{border-bottom:0}table.tbl td.num{font-family:var(--serif);font-size:1.15rem;font-weight:600}.scrollx{overflow-x:auto}.loginwrap{background:radial-gradient(circle at 80% 10%, #b08a3e1f, transparent 50%), radial-gradient(circle at 8% 90%, #b08a3e14, transparent 45%), var(--ivory);place-items:center;min-height:100vh;padding:30px;display:grid}.logincard{background:var(--paper);border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);border-radius:20px;padding:44px 40px;animation:.5s both rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.logincard .wordmark{margin-bottom:8px}.logincard h1{margin:18px 0 6px;font-size:1.75rem}.logincard p.tag{color:var(--ink-soft);margin-bottom:26px;font-size:.9rem}.logincard p.tag em{color:var(--gold-deep);font-style:italic;font-family:var(--serif)}.rule{background:var(--gold);border-radius:2px;width:52px;height:3px}.monthblock{margin-bottom:30px}.monthblock h3{align-items:baseline;gap:12px;margin-bottom:12px;font-size:1.15rem;display:flex}.monthblock h3 small{font-family:var(--sans);color:var(--ink-faint);font-size:.75rem;font-weight:400}.weekgrid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px;display:grid}.weekcell{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:12px 14px;transition:all .15s;position:relative}.weekcell:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-1px)}.weekcell .wk{font-size:.8rem;font-weight:600}.weekcell .st{margin-top:7px}.weekcell.approved{background:linear-gradient(160deg, var(--paper), var(--green-wash))}.weekcell.pending{background:linear-gradient(160deg, var(--paper), var(--amber-wash))}.weekcell.current{outline:2px solid var(--gold);outline-offset:1px}.overlay{z-index:40;background:#1c1a156b;place-items:center;padding:24px;animation:.18s both fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--paper);border-radius:16px;width:min(560px,100%);max-height:88vh;padding:28px;animation:.25s both rise;overflow-y:auto;box-shadow:0 24px 70px -20px #1c1a1573}.modal h2{margin-bottom:4px;font-size:1.4rem}.modal .sub{color:var(--ink-faint);margin-bottom:20px;font-size:.85rem}.modal .actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.menugroup{margin-bottom:26px}.menugroup h3{color:var(--gold-deep);margin-bottom:10px;font-size:1.05rem}.actrow{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:13px 4px;display:flex}.actrow:last-child{border-bottom:0}.actrow .pts{font-family:var(--serif);color:var(--gold-deep);min-width:52px;font-size:1.5rem;font-weight:700;line-height:1.1}.actrow .pts small{font-size:.58rem;font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);display:block}.actrow .body{flex:1}.actrow .body b{font-size:.95rem}.actrow .body p{color:var(--ink-soft);margin-top:2px;font-size:.82rem}.claimitem{border-bottom:1px solid var(--line);padding:14px 0}.claimitem:last-child{border-bottom:0}.claimhead{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.claimhead b{font-size:.95rem}.claimhead .who{color:var(--gold-deep);font-size:.85rem}.claimhead .when{color:var(--ink-faint);margin-left:auto;font-size:.78rem}.claimbody{color:var(--ink-soft);white-space:pre-wrap;margin-top:6px;font-size:.87rem}.claimmeta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;font-size:.8rem;display:flex}.libgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.libcard{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:9px;padding:20px;transition:all .15s;display:flex}.libcard:hover{border-color:var(--gold);transform:translateY(-2px)}.libcard .cat{text-transform:uppercase;letter-spacing:.18em;color:var(--gold-deep);font-size:.64rem}.libcard h3{font-size:1.12rem}.libcard p{color:var(--ink-soft);flex:1;font-size:.85rem}.libcard .foot{color:var(--ink-faint);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.libcard a.open{font-weight:600;text-decoration:none}.libcard a.open:hover{text-decoration:underline}.lb-target{border:1px solid var(--line);background:var(--paper);border-radius:14px;align-items:center;gap:14px;margin-bottom:22px;padding:16px 20px;display:flex}.lb-target.hit{background:linear-gradient(120deg, var(--gold-wash), var(--paper));border-color:var(--gold)}.lb-target .ic{font-size:1.6rem}.lb-target b{font-family:var(--serif)}.bar{background:var(--gold-wash);border-radius:99px;height:7px;margin-top:6px;overflow:hidden}.bar i{background:var(--gold);border-radius:99px;height:100%;transition:width .5s;display:block}.rank{font-family:var(--serif);color:var(--ink-faint);width:34px;font-weight:700}tr.me td{background:var(--gold-wash)}tr.rank1 .rank{color:var(--gold-deep);font-size:1.2rem}.monthpick{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.monthpick select{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px}.admin-section{margin-bottom:34px}.admin-section>h2{margin-bottom:4px;font-size:1.35rem}.admin-section>p.sub{color:var(--ink-faint);margin-bottom:14px;font-size:.85rem}.review-extra{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:10px;display:flex}.review-extra label.field{width:150px;margin-bottom:0}.empty-state{text-align:center;color:var(--ink-faint);border:1px dashed var(--line);border-radius:14px;padding:44px 20px;font-size:.9rem}.empty-state .big{font-family:var(--serif);color:var(--ink-soft);margin-bottom:6px;font-size:1.3rem}footer.colophon{border-top:1px solid var(--line);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:60px;padding-top:18px;font-size:.75rem;display:flex}
