:root{--wine:#5b0b15;--olive:#373d20;--yellow:#f7de50;--silver:#c2c2c2;--beige:#baaea0;--bg:#f4f2ed;--line:#373d2024;--muted:#656756}*{box-sizing:border-box}body{background:var(--bg);color:var(--olive);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);color:var(--olive);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--olive);background:#f7f5ef}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:var(--wine)!important;border-color:var(--wine)!important;color:#fff!important}.danger{color:var(--wine);border-color:var(--wine);background:#fff1f1}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline:3px solid var(--yellow);outline-offset:3px}input,textarea,select{width:100%;color:var(--olive);background:#fff;border:1px solid #bcbcaf;border-radius:7px;min-height:44px;padding:12px}textarea{resize:vertical;min-height:90px}p{margin:7px 0 18px}h1{letter-spacing:-1.5px;margin:8px 0 15px;font-size:clamp(30px,3.3vw,46px);line-height:1.1}h2{letter-spacing:-.5px;margin:0 0 18px;font-size:21px;line-height:1.3}h3{margin:18px 0 12px;font-size:17px}.eyebrow{letter-spacing:1.8px;color:var(--wine);font-size:10px;font-weight:700}.small,small{color:var(--muted);font-size:12px;line-height:1.6}.shell{min-height:100vh;display:flex}.sidebar{background:var(--olive);color:#f4f2ed;flex-direction:column;width:245px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:inherit;align-items:center;gap:10px;margin-bottom:42px;text-decoration:none;display:flex}.bell{background:var(--yellow);color:var(--olive);border-radius:8px;padding:5px;display:flex}.wordmark{letter-spacing:-1px;color:var(--silver);font-size:31px;font-weight:900;line-height:1}.wordmark span{color:var(--yellow)}.wordmark small{letter-spacing:.3px;color:#f4f2ed;margin-top:8px;font-size:6px;display:block}.access-label{letter-spacing:1.7px;opacity:.7;margin:0 12px 14px;font-size:10px}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#f4f2ed;text-align:left;background:0 0;border:0;justify-content:space-between;padding:13px;font-size:14px;font-weight:400}.sidebar nav button span{opacity:.35}.sidebar nav button.active{background:var(--yellow);color:var(--olive);font-weight:700}.sidebar-foot{margin-top:auto;padding:30px 12px 0;font-size:12px}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot small{color:#d3d2c7}.sidebar-foot a{color:#f4f2ed;margin-top:15px;font-size:11px;display:block}.workspace{width:calc(100% - 245px);max-width:1700px;margin-left:245px;padding:0 38px}.topbar{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:22px 0;font-size:11px;display:flex}.page-title{padding:33px 0 18px}.page-title>p:last-child{color:var(--muted);max-width:720px;font-size:14px}.card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:24px;padding:25px}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:25px;display:grid}.stats>div,.stats>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;padding:22px;display:block}.stats strong{letter-spacing:-1px;margin-bottom:8px;font-size:36px;line-height:1.2;display:block}.stats .stat-text{font-size:24px}.stats span{color:var(--muted);font-size:12px;font-weight:400}.stats small{font-size:17px}.two-cols{grid-template-columns:1.3fr 1fr;align-items:start;gap:24px;display:grid}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.section-title h2,.section-title h3{margin:0}.section-title p{color:var(--muted);margin:5px 0;font-size:13px}.row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:15px;padding:18px 0;display:flex}.row>div:first-child{flex:1;min-width:160px}.row p{color:var(--muted);margin:4px 0;font-size:13px}.row:last-child{border-bottom:0}.row-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.tag{white-space:nowrap;background:#eceee5;border-radius:30px;padding:4px 10px;font-size:10px;font-weight:700}.tag.attended,.tag.active{color:#274614;background:#e4eddb}.tag.absent,.tag.archived{color:var(--wine);background:#f2e1e3}.tag.waiting,.tag.pending{color:#514418;background:#fff5bf}.tag.cancelled{color:#6c6c64;background:#eeeded}.empty{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#faf9f6;border-radius:8px;margin:15px 0;padding:28px 18px;font-size:14px}.helper{border-left:3px solid var(--yellow);background:#f6f4e8;border-radius:0 7px 7px 0;margin:20px 0;padding:15px 18px;font-size:12px;line-height:1.7}.important{font-size:14px}.helper p{margin:8px 0 0}.quick-actions{flex-direction:column;gap:12px;display:flex}.quick-actions.horizontal{flex-flow:wrap}.field{margin:0 0 18px;display:block}.field>span{margin-bottom:7px;font-size:12px;font-weight:600;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.calendar-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.calendar-controls .field{min-width:170px;margin:0}.calendar-controls button{align-self:flex-end}.slots{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:22px;display:grid}.slot{text-align:left;flex-direction:column;align-items:flex-start;gap:6px;min-height:130px;padding:18px;display:flex}.slot strong{letter-spacing:-1px;font-size:27px}.slot span{font-size:11px;font-weight:400}.slot small{font-size:10px}.slot.full{background:#f4ede8}.slot.selected{border:2px solid var(--wine);background:#fcf8f8;padding:17px}.chosen{background:var(--yellow)}.notice,.error{border-radius:8px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:15px 20px;font-size:13px;display:flex}.notice{background:#e6eedc;border:1px solid #bccfa6}.error{color:var(--wine);background:#fae9eb;border:1px solid #d2adb3}.notice button{background:0 0;border:0;padding:2px 8px}.routine-block{margin-top:25px}.routine-block h3{background:var(--olive);color:#fff;border-radius:7px;padding:12px}.follow-row{border-bottom:1px solid var(--line);padding:20px 0}.workspace-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:20px;padding:25px 0 35px;font-size:11px;display:flex}.modal-backdrop{z-index:100;background:#202313a8;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border-radius:15px;width:600px;max-width:100%;max-height:90vh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 100px #0003}.close{background:0 0;border:0;padding:5px 12px;font-size:24px;position:absolute;top:10px;right:10px}.modal h2{margin:10px 35px 22px 0}.welcome{max-width:650px;margin:10vh auto;padding:40px}.welcome .wordmark{color:var(--olive);margin-bottom:20px;font-size:52px}.welcome .wordmark span{color:var(--wine)}.welcome h1{margin-top:45px;font-size:64px}.welcome>p{font-size:17px}.welcome>.small{margin-top:20px;font-size:12px}ol{padding-left:20px;font-size:14px}ol li{margin-bottom:12px}@media (max-width:1150px){.two-cols{grid-template-columns:1fr}.workspace{padding:0 25px}.sidebar{width:210px;padding:25px 15px}.workspace{width:calc(100% - 210px);margin-left:210px}.wordmark{font-size:27px}}@media (max-width:760px){.shell{display:block}.sidebar{width:100%;padding:18px 20px;display:block;position:static}.brand{margin-bottom:18px}.access-label{display:none}.sidebar nav{gap:5px;padding-bottom:4px;display:flex;overflow:auto}.sidebar nav button{white-space:nowrap;flex-shrink:0;padding:11px 14px;font-size:12px}.sidebar nav button span{display:none}.sidebar-foot{flex-wrap:wrap;align-items:center;gap:12px;padding:15px 0 0;display:flex}.sidebar-foot small{font-size:10px}.sidebar-foot a{margin:0 0 0 auto}.workspace{width:100%;margin:0;padding:0 18px}.topbar{padding:15px 0}.page-title{padding:25px 0 10px}.card{margin-bottom:18px;padding:20px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stats>div,.stats>button{padding:17px}.stats strong{font-size:30px}.stats .stat-text{font-size:20px}.form-grid{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr);gap:10px}.slot{min-height:120px;padding:15px}.slot.selected{padding:14px}.row-actions{width:100%}.row-actions button,.row-actions a{flex:1}.calendar-controls{gap:8px}.calendar-controls .field{flex:1;min-width:160px}.calendar-controls button:last-child{width:100%;margin-top:7px}.modal-backdrop{padding:12px}.modal{max-height:94vh;padding:25px 20px}.section-title{gap:12px}.welcome{margin:5vh auto;padding:28px}.welcome h1{font-size:52px}.workspace-footer span{display:block}.field input[type=file]{font-size:11px}}.install-launch{z-index:50;background:var(--yellow);border:1px solid var(--olive);gap:10px;padding:9px 14px;font-size:12px;position:fixed;bottom:20px;right:20px;box-shadow:0 5px 20px #0002}.install-launch img{border-radius:6px;width:28px;height:28px}.install-dialog{background:var(--bg);width:480px;max-width:calc(100% - 28px);color:var(--olive);border:0;border-radius:15px;max-height:90vh;padding:35px;overflow:auto}.install-dialog::backdrop{background:#202313a8}.install-dialog h2{margin:20px 20px 15px 0;font-size:28px}.install-dialog p{font-size:14px}.install-icon{border-radius:16px;width:76px;height:76px}.workspace-footer{padding-bottom:95px}body:has(.install-dialog[open]){overflow:hidden}@media (max-width:760px){.install-launch{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.install-dialog{padding:30px 22px}.workspace{padding-bottom:env(safe-area-inset-bottom,0px)}}.login-shell{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{background:var(--olive);color:var(--bg);padding:9vh 12%}.login-brand img{border-radius:18px;width:85px;height:85px}.login-brand .eyebrow{color:var(--yellow);margin-top:25px}.login-brand h1{letter-spacing:-3px;margin:35px 0;font-size:clamp(45px,5.5vw,80px)}.login-brand em{color:var(--yellow);font-style:normal}.login-brand>p{max-width:380px;font-size:16px;line-height:1.8}.login-features{border-top:1px solid #f4f2ed40;gap:12px;margin-top:35px;padding-top:25px;font-size:12px;display:grid}.login-features span:before{content:"✓";color:var(--yellow);margin-right:12px}.login-card{align-self:center;width:100%;max-width:600px;margin:auto;padding:10vh 12%}.login-card h2{font-size:30px}.login-card>p{color:var(--muted);margin-bottom:30px;font-size:14px}.login-submit{width:100%;margin-top:12px}.password-toggle{background:0 0;border:0;min-height:35px;margin-bottom:15px;padding:5px 0;font-size:12px}.login-links{flex-wrap:wrap;justify-content:space-between;gap:10px;margin:22px 0;display:flex}.login-links button{background:0 0;border:0;min-height:35px;padding:3px 0;font-size:12px;text-decoration:underline}.sidebar-account{color:var(--bg);background:0 0;border:0;min-height:30px;padding:5px 0;font-size:11px;font-weight:400;display:block}@media (max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{padding:28px 25px}.login-brand img{float:right;width:60px;height:60px}.login-brand h1{letter-spacing:-1.5px;margin:20px 0;font-size:40px}.login-brand>p:last-of-type,.login-features{display:none}.login-brand .eyebrow{max-width:220px;font-size:9px}.login-card{padding:35px 25px 95px}.sidebar-account{font-size:10px;display:inline-block}}
