@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Barlow:wght@400;500;600;700&display=swap";
:root{--dark:#0a0808;--mid:#151111;--warm:#251c1c;--maroon:#3a1414;--gold:#a51c1c;--amber:#bf2222;--cream:#f2f0f0;--text:#ded9d9;--muted:#8f8484;--line:#e0dbdb1a;--card:var(--mid);--card-gradient:linear-gradient(160deg, var(--mid) 0%, var(--maroon) 140%);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;padding:0}body{background:var(--dark);color:var(--text);overscroll-behavior-y:none;font-family:Barlow,system-ui,sans-serif;font-size:16px;line-height:1.5}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.top-bar{z-index:20;padding:calc(14px + var(--safe-top)) 20px 14px;background:var(--dark);border-bottom:1px solid var(--warm);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.top-bar-brand{align-items:center;gap:9px;display:flex}.top-bar-logo{border-radius:5px;flex-shrink:0}.top-bar-title{color:var(--cream);letter-spacing:.01em;font-family:Playfair Display,serif;font-size:17px;font-weight:700}.admin-pin{border:1px solid var(--warm);color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;width:32px;height:32px;font-size:14px}.tab-content{flex:1;padding-bottom:24px;overflow-y:auto}.tab-pane{max-width:560px;margin:0 auto;padding:20px 18px 40px}.tab-bar{z-index:20;background:var(--mid);border-top:1px solid var(--warm);padding-bottom:var(--safe-bottom);display:flex;position:sticky;bottom:0}.tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 8px;font-family:Barlow,sans-serif;display:flex}.tab-btn.active{color:var(--gold)}.tab-icon{justify-content:center;align-items:center;line-height:1;display:flex}.tab-label{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.focus-banner{border:1px solid var(--warm);border-top:3px solid var(--gold);border-radius:4px;justify-content:center;align-items:center;min-height:150px;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.focus-banner-bg{position:absolute;inset:0}.focus-banner-img{object-fit:cover}.focus-banner-overlay{background:linear-gradient(#0a080899,#3a1414e0);position:absolute;inset:0}.focus-banner-content{text-align:center;padding:22px 20px;position:relative}.focus-banner-month{letter-spacing:.08em;text-transform:uppercase;color:var(--cream);opacity:.85;margin:0 0 4px;font-size:13px}.focus-banner-company{color:var(--cream);text-shadow:0 2px 10px #00000080;margin:0;font-family:Playfair Display,serif;font-size:27px;font-weight:700}.focus-banner-empty{color:var(--cream);opacity:.85;margin:0;font-style:italic}.block{margin-top:30px}.block:first-child{margin-top:0}.block-head{border-bottom:1px solid var(--warm);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:8px;display:flex}.block-title{color:var(--cream);margin:0;font-family:Playfair Display,serif;font-size:19px;font-weight:700}.text-btn{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:4px 2px;font-family:Barlow,sans-serif;font-size:12px;font-weight:700}.text-btn:hover{color:var(--amber)}.goals-card{background:var(--card-gradient);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:3px;padding:16px 18px}.goals-card ul{margin:0;padding-left:20px}.goals-card li{margin-bottom:8px}.goals-card li:last-child{margin-bottom:0}.empty-note{color:var(--muted);margin:0;font-style:italic}.edit-form{background:var(--card);border:1px solid var(--line);border-radius:3px;margin-top:12px;padding:16px 18px}.field{margin-bottom:14px}.field:last-of-type{margin-bottom:0}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field select,.field input[type=text],.field input[type=password],.field input[type=date],.field textarea{border:1px solid var(--line);background:var(--dark);width:100%;color:var(--text);border-radius:2px;padding:10px;font-family:Barlow,sans-serif;font-size:16px}.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--gold);outline:none}.field textarea{resize:vertical;min-height:90px}.form-actions{gap:10px;margin-top:12px;display:flex}.btn{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);cursor:pointer;background:0 0;border-radius:2px;padding:11px 20px;font-family:Barlow,sans-serif;font-size:12px;font-weight:700;transition:background-color .2s,color .2s}.btn:hover{background:var(--gold);color:var(--cream)}.btn.secondary{color:var(--text);border-color:var(--line);background:0 0}.btn.secondary:hover{color:var(--cream);background:#e0dbdb0f}.btn:disabled{opacity:.5;cursor:default}.rotation-list{flex-direction:column;gap:10px;display:flex}.rotation-card{background:var(--card-gradient);border:1px solid var(--line);border-radius:3px;overflow:hidden}.rotation-row{justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.rotation-name-btn{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:0;display:flex}.rotation-thumb{object-fit:cover;border:1px solid var(--warm);border-radius:6px;flex-shrink:0}.rotation-name{color:var(--cream);font-family:Playfair Display,serif;font-size:16px;font-weight:700}.rotation-date{border:1px solid var(--warm);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;padding:5px 12px;font-size:12px;font-weight:600}.rotation-edit{align-items:center;gap:8px;display:flex}.rotation-edit input{background:var(--dark);border:1px solid var(--line);color:var(--text);border-radius:2px;padding:5px 6px;font-size:13px}.rotation-sub{color:var(--muted);margin:0 0 10px;font-size:13px}.company-body{border-top:1px solid var(--warm);padding:0 16px 16px}.company-body h4{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:14px 0 6px;font-family:Barlow,sans-serif;font-size:11px;font-weight:700}.company-body h4:first-of-type{margin-top:12px}.company-body ul{margin:0;padding-left:19px}.company-body li{color:var(--text);margin-bottom:5px}.page-title{color:var(--cream);text-align:center;margin:0 0 8px;font-family:Playfair Display,serif;font-size:clamp(24px,6vw,30px);font-weight:700}.tools-intro{text-align:center;margin-bottom:16px}.accordion{flex-direction:column;gap:10px;display:flex}.accordion-item{background:var(--card-gradient);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:3px;overflow:hidden}.accordion-head{cursor:pointer;width:100%;color:var(--cream);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 16px;font-family:Playfair Display,serif;font-size:16px;font-weight:700;display:flex}.accordion-chev{color:var(--muted);font-family:Barlow,sans-serif;font-size:15px}.accordion-body{flex-direction:column;gap:8px;padding:0 12px 12px;display:flex}.accordion-sub{border:1px solid var(--warm);background:#00000040;border-radius:3px;overflow:hidden}.accordion-sub-head{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 14px;font-family:Barlow,sans-serif;font-size:13.5px;font-weight:600;display:flex}.accordion-sub-body{color:var(--muted);margin:0;padding:0 14px 12px;font-size:13.5px;line-height:1.5}.calendar-legend{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.legend-item{color:var(--text);align-items:center;gap:6px;font-size:12.5px;display:flex}.legend-thumb{object-fit:cover;border:1px solid var(--warm);border-radius:4px}.legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.legend-count{color:var(--muted);font-size:11px}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-nav{border:1px solid var(--warm);color:var(--text);cursor:pointer;background:0 0;border-radius:50%;width:32px;height:32px;font-size:16px}.cal-month{color:var(--cream);font-family:Playfair Display,serif;font-size:17px;font-weight:700}.cal-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:11px;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-cell{aspect-ratio:1;background:var(--mid);border:1px solid var(--warm);color:var(--text);cursor:pointer;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:2px;font-family:Barlow,sans-serif;font-size:13px;display:flex}.cal-cell.empty{cursor:default;background:0 0;border:none}.cal-cell.today{border-color:var(--gold)}.cal-dots{gap:2px;min-height:6px;display:flex}.cal-dot{border-radius:50%;width:5px;height:5px}.day-sheet{max-width:380px}.day-events{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.day-event{background:var(--card-gradient);border:1px solid var(--warm);border-radius:3px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.day-event .legend-dot{margin-top:5px}.day-event-body{flex:1}.day-event-title{color:var(--cream);margin:0;font-size:14px;font-weight:700}.day-event-company{color:var(--muted);margin:2px 0 0;font-size:11.5px}.day-event-notes{color:var(--text);margin:6px 0 0;font-size:13px}.status-msg{color:var(--muted);min-height:18px;margin-top:8px;font-size:13px}.status-msg.error{color:var(--amber)}.login-wrap{background:var(--dark);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex;position:relative;overflow:hidden}.login-bg-img{object-fit:cover;z-index:0}.login-bg-overlay{z-index:1;background:linear-gradient(#0a0808b3,#3a1414eb);position:absolute;inset:0}.login-card{z-index:2;background:var(--card-gradient);border-top:3px solid var(--gold);border-left:1px solid var(--warm);border-right:1px solid var(--warm);border-bottom:1px solid var(--warm);border-radius:3px;width:100%;max-width:360px;padding:30px 28px;position:relative;box-shadow:0 12px 30px #00000080}.login-logo{border-radius:8px;margin:0 0 12px;display:block}.eyebrow{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}.login-title{color:var(--cream);margin:0 0 20px;font-family:Playfair Display,serif;font-size:24px}.login-card label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.login-card input{border:1px solid var(--line);background:var(--dark);width:100%;color:var(--text);border-radius:2px;margin-bottom:14px;padding:11px;font-size:16px}.login-card input:focus{border-color:var(--gold);outline:none}.login-card .btn{width:100%}.modal-backdrop{z-index:50;background:#060404bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card-gradient);border-top:3px solid var(--gold);border-left:1px solid var(--warm);border-right:1px solid var(--warm);border-bottom:1px solid var(--warm);border-radius:3px;width:100%;max-width:340px;max-height:85vh;padding:22px 20px;overflow-y:auto}.modal-card h3{color:var(--cream);margin:0 0 6px;font-family:Playfair Display,serif}.modal-sub{color:var(--muted);margin:0 0 14px;font-size:13px}.modal-card input{border:1px solid var(--line);background:var(--dark);width:100%;color:var(--text);border-radius:2px;margin-bottom:8px;padding:9px 10px;font-size:16px}.modal-card input:focus{border-color:var(--gold);outline:none}
