@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17241e;--muted:#78827c;--line:#e7ebe6;--paper:#fff;--bg:#f5f7f3;--green:#2d7253;--lime:#d8f276;--mint:#eaf5ee;--amber:#d18d32;--red:#c45c53;--blue:#597daf;--shadow:0 10px 35px #1b30200d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:1540px;min-height:100vh;margin:auto;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#fbfcfa;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;text-decoration:none;color:var(--ink);font:800 19px Manrope}.brand-mark{width:32px;height:32px;border-radius:11px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:16px}.side-label{font-size:10px;font-weight:700;color:#9aa39d;text-transform:uppercase;letter-spacing:1px;padding:0 10px;margin:30px 0 9px}.workspace-select{width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:10px;color:var(--ink);font-size:12px}.nav{display:grid;gap:4px;margin-top:22px}.nav button{border:0;background:none;color:#68756d;text-align:left;padding:11px 12px;border-radius:9px;font-weight:600;display:flex;gap:11px;align-items:center}.nav button.active{background:var(--mint);color:var(--green)}.nav button:hover,.settings-link:hover{background:#f0f3ef}.team-label{display:flex;justify-content:space-between;align-items:center;margin-top:31px}.mini-add{border:0;background:none;color:var(--green);font-size:16px}.member-list{display:grid;gap:5px}.member{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px}.avatar{width:27px;height:27px;border-radius:9px;background:#e4ece6;color:#41664d;display:grid;place-items:center;font-weight:700;font-size:11px}.member-name{font-size:11px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-name small{display:block;font-weight:400;color:var(--muted);font-size:9px;margin-top:2px}.member-state{margin-left:auto;color:#6b9e77;font-size:9px}.sidebar-bottom{margin-top:auto}.share-card{background:#f0f3ef;border-radius:12px;padding:13px;margin:0 4px}.share-card-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700}.share-card p{font-size:10px;color:var(--muted);line-height:1.45;margin:8px 0 0}.switch{position:relative;width:35px;height:20px;flex:0 0 auto;border:0;border-radius:14px;background:#c6cdc7;padding:2px}.switch:after{content:'';display:block;width:16px;height:16px;border-radius:50%;background:white;transition:.2s}.switch.on{background:var(--green)}.switch.on:after{transform:translateX(15px)}.settings-link{width:100%;display:flex;gap:11px;align-items:center;border:0;background:none;color:#68756d;padding:10px 12px;border-radius:8px;text-align:left;margin-top:5px;font-weight:600;font-size:12px}.main{max-width:1330px;width:100%;margin:auto;padding:31px 40px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.eyebrow{font-size:10px;color:#8d9790;font-weight:700;letter-spacing:1px;text-transform:uppercase}.green{color:var(--green)}h1,h2,h3,p{margin-top:0}.topbar h1{font:700 24px Manrope;letter-spacing:-.5px;margin:5px 0 0}.topbar h1 span{color:#6d9b77}.top-actions{display:flex;align-items:center;gap:9px}.sync-status{display:flex;align-items:center;gap:6px;color:#6c8e75;font-size:10px;margin-right:5px}.sync-status i{width:7px;height:7px;border-radius:50%;background:#66ad78}.button,.icon-button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:9px 13px;font-weight:600;box-shadow:0 2px 5px #15201605}.button:hover,.icon-button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.icon-button{width:38px;height:38px;padding:0;font-size:16px}.button.full{width:100%;margin-top:8px}.hero{border-radius:17px;background:#e8f1e7;min-height:140px;padding:22px 27px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;margin-bottom:21px}.hero:after{content:'✳';position:absolute;right:115px;top:-75px;font-size:195px;color:var(--green);opacity:.07}.hero h2{font:700 23px Manrope;letter-spacing:-.5px;margin:7px 0}.hero p{font-size:12px;color:#5c6f60;margin:0}.hero-hours{z-index:1;text-align:center;background:#ffffffaa;border-radius:14px;padding:13px 21px}.hero-hours strong{display:block;font:800 27px Manrope;color:var(--green)}.hero-hours strong span{font-size:14px}.hero-hours small{font-size:9px;color:#718074}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.tabs{display:flex;gap:3px;padding:4px;background:#ecefea;border-radius:9px}.tabs button{border:0;background:none;border-radius:7px;padding:7px 13px;font-size:11px;color:#7b857e;font-weight:600}.tabs button.selected{background:white;color:var(--ink);box-shadow:0 2px 6px #1a221008}.week-controls{display:flex;align-items:center;gap:11px;font-size:12px}.week-controls button{border:0;background:none;color:#7f8a82;font-size:18px}.text-button{border:0;background:none;color:var(--green);font-weight:700;font-size:11px;padding:5px}.week-controls .text-button{font-size:11px}.calendar-card{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden;box-shadow:var(--shadow)}.calendar-head{display:grid;grid-template-columns:54px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}.calendar-head div{padding:10px 3px;text-align:center;color:#8a948e;font-size:10px;font-weight:700}.calendar-head .today{color:var(--green)}.calendar-head strong{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;margin:5px auto 0;font-size:12px;color:var(--ink)}.calendar-head .today strong{color:white;background:var(--green)}.calendar-grid{display:grid;grid-template-columns:54px repeat(7,minmax(0,1fr));min-height:448px;position:relative}.time-col{display:flex;flex-direction:column}.time-label{height:54px;text-align:center;color:#9ba39e;font-size:9px;transform:translateY(-6px)}.day-col{position:relative;min-height:448px;border-left:1px solid #f0f1ef;background:repeating-linear-gradient(to bottom,transparent 0,transparent 53px,#eef0ed 54px)}.event{position:absolute;left:4px;right:4px;z-index:1;min-height:37px;border-left:3px solid var(--green);border-radius:7px;padding:7px 6px;background:#e9f4eb;color:#37614a;font-size:9px;font-weight:700;line-height:1.3;overflow:hidden;cursor:pointer}.event.self{border-color:var(--blue);background:#eaf1fa;color:#466387}.event.urgent{border-color:#dc9352;background:#fff1e7;color:#8b6238}.event.friend{border-color:#917bb3;background:#f2eefa;color:#725c92}.event:hover{filter:brightness(.97)}.etime{font-size:8px;font-weight:500;opacity:.78;margin-top:3px}.lower-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:17px;margin-top:18px}.panel{border:1px solid var(--line);background:white;border-radius:14px;padding:17px;box-shadow:var(--shadow);min-height:170px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.panel-heading h3{font:700 14px Manrope;margin:0}.upcoming-row{display:flex;align-items:center;gap:10px;margin:10px 0;cursor:pointer}.up-time{width:103px;flex:0 0 auto;color:#808a83;font-size:9px}.up-bar{width:3px;height:32px;background:#76a585;border-radius:4px}.up-bar.blue{background:#7191be}.up-info{flex:1;min-width:0}.up-info b{font-size:11px}.up-info small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.priority{font-size:8px;border-radius:10px;padding:4px 7px;font-weight:700;background:#e9f4eb;color:var(--green)}.priority.high{background:#fff0e2;color:#aa6f2e}.availability-row{display:flex;align-items:center;gap:9px;margin:9px 0}.availability-row .avatar{width:28px;height:28px}.availability-name{flex:1;font-size:10px;font-weight:700}.availability-name small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:2px}.availability-free{font-size:8px;color:#629774;font-weight:700}.overlap{background:#f3f6f2;border-radius:9px;padding:10px;margin-top:13px}.overlap b{font-size:10px}.overlap p{margin:5px 0 0;color:#69756d;font-size:9px;line-height:1.45}.empty{padding:24px;text-align:center;color:var(--muted);font-size:11px}.toast{position:fixed;right:22px;bottom:22px;z-index:30;padding:12px 17px;border-radius:10px;background:#17241e;color:white;box-shadow:0 8px 30px #0002;font-size:11px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.overlay{position:fixed;inset:0;z-index:20;background:#17241e66;display:flex;align-items:center;justify-content:center;padding:15px;overflow:auto}.overlay[hidden],.auth-screen[hidden]{display:none}.dialog,.auth-card{background:#fff;width:min(490px,100%);border-radius:16px;padding:24px;box-shadow:0 20px 80px #0003}.dialog h2{font:700 19px Manrope;margin:0 0 6px}.muted{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 17px}.field{display:grid;gap:6px;font-size:10px;font-weight:700;color:#657168;margin:0 0 12px}.field input,.field select,.field textarea,.join-row input,.copy-row input{width:100%;border:1px solid #dfe4de;border-radius:8px;padding:9px 10px;background:white;color:var(--ink);outline-color:#8aba9a;font-size:12px}.field textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.field.wide{grid-column:1/-1}.dialog-actions{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.dialog-actions>div{display:flex;gap:8px}.danger{color:#b4534c}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:11px 0}.settings-row b{font-size:11px}.settings-row small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.small-select{max-width:145px;border:1px solid var(--line);border-radius:7px;background:white;padding:7px;font-size:10px}.copy-row{display:flex;gap:7px}.copy-row input{flex:1}.invite-note{font-size:9px;line-height:1.5;color:var(--muted);margin:10px 0}.form-message{min-height:14px;color:#a9544c;font-size:10px;margin:6px 0}.divider{text-align:center;font-size:9px;letter-spacing:.8px;color:#9ba39e;margin:18px 0 13px}.join-row{display:flex;gap:8px}.join-row input{flex:1}.auth-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#f4f7f3;padding:15px}.auth-card{width:min(410px,100%);padding:30px}.auth-card .brand{padding:0;margin-bottom:26px}.auth-card h1{font:700 24px Manrope;margin:7px 0}.auth-toggle{display:block;margin:13px auto 0}.auth-message{text-align:center;color:var(--green);font-size:10px;line-height:1.5;margin:12px 0 0;min-height:14px}
@media(max-width:980px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.main{padding:25px 20px}.lower-grid{grid-template-columns:1fr}.calendar-card{overflow-x:auto}.calendar-head,.calendar-grid{min-width:690px}}
@media(max-width:650px){.app-shell{display:block}.sidebar{position:fixed;z-index:5;left:0;right:0;bottom:0;top:auto;width:auto;height:61px;padding:4px 7px;border:0;border-top:1px solid var(--line);display:block;background:white}.brand,.side-label,.workspace-select,.member-list,.sidebar-bottom{display:none}.nav{display:flex;justify-content:space-around;height:100%;margin:0}.nav button{flex-direction:column;gap:2px;padding:5px 8px;font-size:15px}.nav button span{font-size:8px}.main{padding:19px 12px 79px}.topbar{margin-bottom:17px}.topbar h1{font-size:19px}.top-actions{gap:6px}.sync-status{display:none}.top-actions .button{padding:8px 9px;font-size:10px}.hero{padding:17px;min-height:125px}.hero h2{font-size:19px}.hero-hours{padding:10px 13px}.toolbar{gap:7px}.tabs button{padding:7px 9px}.week-controls{gap:5px;font-size:10px}.calendar-head,.calendar-grid{min-width:670px}.lower-grid{gap:11px}.panel{padding:14px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.dialog{padding:19px}.up-time{width:87px}}
