:root{color-scheme:light;--forest: #123d32;--forest-2: #26725a;--lime: #d8ef69;--mint: #e3f2ea;--paper: #f2f5f2;--white: #ffffff;--ink: #16332b;--muted: #6b7b75;--line: #dbe4df;--amber: #8a641d;--amber-bg: #fff2d7;--red: #a84d42;--red-bg: #fbe9e6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:300px;min-height:100vh;background:var(--paper)}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.splash{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--forest);color:#fff;text-align:center}.splash-mark{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 16px;border-radius:22px;color:var(--forest);background:var(--lime);font-family:Georgia,serif;font-size:42px;font-weight:900}.splash h1{margin:0;font-family:Georgia,serif;font-size:32px;font-weight:500}.splash p{margin:8px 0 0;color:#c6d8d1}.login-page{min-height:100vh;display:grid;grid-template-rows:auto 1fr;background:var(--paper)}.login-hero{padding:calc(30px + env(safe-area-inset-top)) 24px 32px;color:#fff;background:var(--forest)}.brand-row{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:var(--forest);background:var(--lime);font-family:Georgia,serif;font-size:26px;font-weight:900}.brand-copy small{display:block;color:#b8d0c7;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.brand-copy strong{display:block;margin-top:2px;font-size:16px}.login-hero h1{max-width:520px;margin:34px 0 8px;font-family:Georgia,serif;font-size:clamp(35px,9vw,54px);font-weight:500;line-height:.98}.login-hero p{max-width:560px;margin:0;color:#cbdcd6;line-height:1.5}.login-shell{width:min(100% - 28px,520px);margin:-18px auto 40px}.login-card{padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 48px #14352c1f}.login-card h2{margin:0;font-size:20px}.login-card>p{margin:7px 0 18px;color:var(--muted);font-size:13px;line-height:1.45}.form-stack{display:grid;gap:12px}.field{display:grid;gap:6px}.field span{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.field input,.field select{width:100%;padding:13px 14px;border:1px solid #cad7d0;border-radius:11px;color:var(--ink);background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--forest-2);box-shadow:0 0 0 3px #26725a1f}.primary{padding:13px 16px;border:0;border-radius:11px;color:#fff;background:var(--forest-2);font-weight:850}.secondary{padding:11px 14px;border:1px solid #c9d6cf;border-radius:10px;color:var(--forest);background:#fff;font-weight:800}.text-button{padding:4px;border:0;color:var(--forest-2);background:transparent;font-weight:800}.message{margin-top:13px;padding:11px 12px;border-radius:10px;color:var(--forest);background:var(--mint);font-size:12px;line-height:1.4}.message.error{color:var(--red);background:var(--red-bg)}.demo-entry{margin-top:17px;padding-top:16px;border-top:1px solid var(--line);text-align:center}.demo-entry p{margin:0 0 9px;color:var(--muted);font-size:11px}.mobile-app{min-height:100vh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.app-header{padding:calc(18px + env(safe-area-inset-top)) 18px 24px;color:#fff;background:var(--forest);border-radius:0 0 28px 28px}.header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-brand{display:flex;align-items:center;gap:9px}.mini-brand .brand-mark{width:36px;height:36px;border-radius:11px;font-size:21px}.mini-brand small,.mini-brand strong{display:block}.mini-brand small{color:#b8d0c7;font-size:9px;text-transform:uppercase}.mini-brand strong{margin-top:1px;font-size:13px}.status-cluster{display:flex;align-items:center;gap:7px}.online-badge,.demo-badge{padding:5px 7px;border-radius:99px;font-size:9px;font-weight:900}.online-badge{color:#dff5e9;background:#ffffff1f}.online-badge.offline{color:#ffe8ba}.demo-badge{color:var(--forest);background:var(--lime)}.profile-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:28px}.profile-row p{margin:0 0 3px;color:#bcd0c8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.profile-row h1{margin:0;font-family:Georgia,serif;font-size:31px;font-weight:500}.profile-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:var(--forest);background:var(--lime);font-weight:900}.app-main{width:min(100% - 24px,760px);margin:-12px auto 0}.week-picker{display:grid;grid-template-columns:40px 1fr 40px;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 30px #14352c14}.week-picker button{width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:11px;color:var(--forest);background:#f8faf8;font-size:20px}.week-copy{text-align:center}.week-copy small,.week-copy strong{display:block}.week-copy small{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.week-copy strong{margin-top:3px;font-size:13px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.summary-card{min-width:0;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.summary-card.actual{color:var(--forest);background:var(--mint)}.summary-card small,.summary-card strong{display:block}.summary-card small{color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.summary-card strong{margin-top:6px;font-family:Georgia,serif;font-size:23px;font-weight:500}.section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:22px 2px 10px}.section-title h2{margin:0;font-size:17px}.section-title span{color:var(--muted);font-size:10px}.days-list{display:grid;gap:9px}.day-card{padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff}.day-card.today{border-color:#92b9a8;box-shadow:inset 0 0 0 1px #92b9a8}.day-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #edf1ee}.day-title{display:flex;align-items:center;gap:10px}.date-box{width:42px;height:44px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--forest);font-size:17px;font-weight:900}.day-title small,.day-title strong{display:block}.day-title small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.day-title strong{margin-top:2px;font-size:14px;text-transform:capitalize}.validation{padding:6px 8px;border-radius:99px;color:var(--amber);background:var(--amber-bg);font-size:9px;font-weight:900;white-space:nowrap}.validation.valid{color:var(--forest-2);background:var(--mint)}.day-content{display:grid;grid-template-columns:1.2fr 1fr;gap:15px;padding-top:12px}.day-block small{display:block;margin-bottom:5px;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.shift-line{display:block;margin-top:3px;font-size:12px;font-weight:750}.actual-time{font-size:15px;font-weight:900}.actual-time.muted{color:var(--muted);font-weight:700}.empty-state{padding:28px 18px;border:1px dashed #c9d5cf;border-radius:17px;color:var(--muted);background:#ffffff8c;text-align:center;line-height:1.5}.sync-note{margin:16px 3px;color:var(--muted);font-size:10px;text-align:center}.install-banner{position:fixed;z-index:20;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #779d8d;border-radius:15px;color:#fff;background:#174b3d;box-shadow:0 16px 40px #123d3247}.install-banner strong,.install-banner small{display:block}.install-banner small{margin-top:2px;color:#c4d8d0}.install-banner button{padding:8px 10px;border:0;border-radius:9px;color:var(--forest);background:var(--lime);font-weight:900}.bottom-actions{position:fixed;z-index:10;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-actions button{flex:1;max-width:260px}.admin-shell{width:min(1040px,calc(100% - 28px));margin:28px auto 60px}.admin-hero{padding:26px;border-radius:22px;color:#fff;background:var(--forest)}.admin-hero h1{margin:18px 0 4px;font-family:Georgia,serif;font-size:35px;font-weight:500}.admin-hero p{margin:0;color:#c6d8d1}.admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.admin-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.admin-card h2{margin:0;font-size:18px}.admin-card>p{color:var(--muted);font-size:12px;line-height:1.45}.file-drop{display:grid;place-items:center;min-height:150px;padding:20px;border:2px dashed #b7c8bf;border-radius:14px;color:var(--muted);background:#f8faf8;text-align:center;cursor:pointer}.file-drop input{display:none}.publish-status{margin-top:12px}.invite-list{display:grid;gap:7px;margin-top:14px}.invite-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border-radius:10px;background:#f4f7f4}.invite-row strong,.invite-row small{display:block}.invite-row small{margin-top:2px;color:var(--muted)}.invite-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.config-help{padding:14px;border-radius:12px;color:#6b511c;background:var(--amber-bg);font-size:12px;line-height:1.5}.config-help code{font-size:11px}.admin-live{margin-top:14px}.actual-editor-card{padding:18px}.actual-day-select{margin-top:16px}.actual-editor-list{display:grid;gap:9px;margin-top:13px}.actual-editor-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8faf8}.actual-person{align-self:center}.actual-person strong,.actual-person small{display:block}.actual-person small{margin-top:3px;color:var(--muted);font-size:10px}.planned-editor-details{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.planned-editor-details>summary{padding:14px 16px;color:var(--forest);font-size:12px;font-weight:850;cursor:pointer}.planned-editor-details>.admin-card{border:0;border-top:1px solid var(--line);border-radius:0}.live-editor-card{padding:18px}.live-editor-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.live-editor-head h2{margin:0}.live-editor-head p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.live-badge{flex:0 0 auto;padding:6px 9px;border-radius:99px;color:var(--forest-2);background:var(--mint);font-size:9px;font-weight:900;text-transform:uppercase}.week-editor-select{margin-top:16px}.shift-editor-list{display:grid;gap:9px;margin-top:13px}.shift-editor-row{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8faf8}.shift-editor-grid{display:grid;grid-template-columns:1.2fr 1.1fr .75fr .75fr 1fr auto;gap:9px;align-items:end}.shift-editor-grid .field input,.shift-editor-grid .field select{padding:10px}.remove-shift{min-height:41px;padding:9px 11px;border:1px solid #e2bcb6;border-radius:10px;color:var(--red);background:var(--red-bg);font-size:11px;font-weight:850}.live-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.empty-state.compact{padding:16px}.admin-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px}@media(max-width:700px){.summary-grid{grid-template-columns:1fr 1fr}.summary-card:last-child{grid-column:1 / -1}.day-content,.admin-grid{grid-template-columns:1fr}.admin-hero{padding:22px}.admin-shell{width:min(100% - 18px,1040px);margin-top:9px}.live-editor-head{align-items:center}.shift-editor-grid{grid-template-columns:1fr 1fr}.assignment-field,.remove-shift{grid-column:1 / -1}.live-editor-actions{display:grid;grid-template-columns:1fr}.live-editor-actions .primary{grid-row:1}.actual-editor-row{grid-template-columns:1fr 1fr}.actual-person{grid-column:1 / -1}}@media(min-width:760px){.days-list{grid-template-columns:1fr 1fr}.day-card{min-height:176px}}@media print{body{background:#fff}.app-header{color:var(--ink);background:#fff;border-radius:0}.app-header .mini-brand small,.profile-row p{color:var(--muted)}.bottom-actions,.install-banner,.week-picker button,.status-cluster{display:none!important}.mobile-app{padding-bottom:0}.app-main{width:100%}.day-card{break-inside:avoid}}
