:root{--navy:#07275d;--navy2:#061b42;--blue:#1184ff;--blue2:#0a68ea;--cyan:#18d7da;--text:#0a224f;--muted:#7b8da8;--line:#e7edf5;--bg:#f6faff;--card:#fff;--green:#25b966;--orange:#f0a12a;--red:#ff5d63;--shadow:0 10px 28px rgba(19,61,117,.10);--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{margin:0;width:100%;min-height:100%;overflow-x:hidden;background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}svg{width:22px;height:22px;display:block}.hidden{display:none!important}.muted{color:var(--muted)}
/* Full PWA shell */
body{overscroll-behavior:none}.app-shell{min-height:100dvh}.phone-stage{position:relative;min-height:100dvh;background:#fff;padding-top:calc(var(--safe-top) + 58px);padding-bottom:calc(var(--safe-bottom) + 76px);overflow-x:hidden}.screen-content{width:100%;min-height:calc(100dvh - 134px - var(--safe-top) - var(--safe-bottom));background:#fff}.desktop-sidebar{display:none}
.mobile-topbar{position:fixed;z-index:90;left:0;right:0;top:0;height:calc(var(--safe-top) + 58px);padding:var(--safe-top) 16px 0;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);display:grid;grid-template-columns:40px 1fr 40px;align-items:center;border-bottom:1px solid rgba(7,39,93,.06)}.topbar-title{text-align:center;font-size:18px;font-weight:800}.topbar-menu,.icon-button,.bare-icon{border:0;background:transparent;display:grid;place-items:center;color:var(--navy);padding:8px}.icon-button{position:relative}.notify-dot{position:absolute;right:4px;top:5px;width:8px;height:8px;border-radius:50%;background:#f33;border:2px solid #fff}.mobile-bottom-nav{position:fixed;z-index:100;left:0;right:0;bottom:0;height:calc(var(--safe-bottom) + 70px);padding:0 12px var(--safe-bottom);display:grid;grid-template-columns:1fr 1fr 66px 1fr 1fr;align-items:center;background:rgba(255,255,255,.98);border-top:1px solid #e7edf6;box-shadow:0 -8px 24px rgba(16,57,110,.06)}.bottom-item{height:60px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:10px;color:#526987}.bottom-item svg{width:21px;height:21px}.bottom-item:hover,.bottom-item:active{color:var(--blue)}.bottom-add{width:56px;height:56px;margin:-22px auto 0;border-radius:50%;background:linear-gradient(145deg,var(--blue),var(--blue2));display:grid;place-items:center;color:#fff;box-shadow:0 10px 24px rgba(17,132,255,.32);border:4px solid #fff}.bottom-add svg{width:28px;height:28px}
/* Login matching mockup */
.login-body{background:linear-gradient(180deg,#f7fbff 0,#fff 60%,#edf7ff 100%);min-height:100dvh;overflow:hidden}.login-screen{min-height:100dvh;padding:calc(var(--safe-top) + 22px) 20px calc(var(--safe-bottom) + 12px);display:grid;place-items:center}.login-card{width:min(100%,390px);min-height:min(760px,calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px));display:flex;flex-direction:column;justify-content:flex-start;padding:28px 12px 0;position:relative;overflow:hidden}.login-logo{text-align:center}.login-logo>img{width:92px;height:92px;border-radius:24px;box-shadow:0 16px 30px rgba(7,39,93,.24)}.login-wordmark{display:flex;flex-direction:column;margin:13px 0 34px}.login-wordmark b{font-size:30px;letter-spacing:-1.2px;color:var(--navy)}.login-wordmark b span{color:var(--blue)}.login-wordmark small{margin-top:3px;color:#8c9bb2;font-size:13px}.login-form{display:grid;gap:13px}.input-with-icon{height:54px;border:1px solid #dfe7f1;border-radius:14px;background:#fff;display:flex;align-items:center;padding:0 14px;box-shadow:0 2px 10px rgba(22,74,140,.03)}.input-with-icon>span{width:26px;opacity:.55}.input-with-icon input{border:0;outline:0;width:100%;font-size:15px;background:transparent}.password-eye{border:0;background:transparent;color:#7588a4}.login-options{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:1px 0 5px}.remember{display:flex;gap:8px;align-items:center}.remember input{accent-color:var(--blue);width:18px;height:18px}.muted-link{color:#1875da}.primary-action,.secondary-action{border:0;border-radius:13px;min-height:52px;padding:0 18px;font-weight:700}.primary-action{background:linear-gradient(180deg,#1a94ff,#0878ee);color:#fff;box-shadow:0 8px 18px rgba(14,126,240,.18)}.secondary-action{background:#f6f8fb;color:#536783;border:1px solid #e3e9f1}.login-divider{display:flex;align-items:center;gap:13px;color:#9aa7b8;font-size:12px;margin:26px 8px 22px}.login-divider span{height:1px;background:#e5eaf0;flex:1}.login-divider em{font-style:normal}.login-slogan{text-align:center;color:#7488a5;font-size:16px;line-height:1.25;margin-top:18px}.login-slogan b{color:#667e9f}.skyline{margin-top:auto;height:110px;opacity:.25;background:linear-gradient(to top,#93c8f6 0 2px,transparent 2px),linear-gradient(90deg,transparent 2%,#83bff1 2% 2.5%,transparent 2.5% 14%,#83bff1 14% 14.7%,transparent 14.7% 30%,#83bff1 30% 30.5%,transparent 30.5% 45%,#83bff1 45% 45.8%,transparent 45.8% 69%,#83bff1 69% 69.6%,transparent 69.6% 88%,#83bff1 88% 88.7%,transparent 88.7%)}
/* Calendar */
.calendar-app{padding:8px 14px 24px;background:#fff;min-height:100%}.calendar-tabs{height:40px;background:#f1f4f8;border-radius:12px;padding:3px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:0 0 12px}.calendar-tabs button{border:0;border-radius:9px;background:transparent;font-size:12px;color:#5b6e89}.calendar-tabs button.active{background:linear-gradient(180deg,#2b95ff,#147ff4);color:#fff;box-shadow:0 3px 8px rgba(24,129,240,.2)}.calendar-tabs button:disabled{opacity:1}.calendar-card{border-bottom:1px solid #eef2f7;padding-bottom:8px}.calendar-month-head{height:46px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center}.calendar-month-head h2{text-align:center;font-size:19px;margin:0}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{font-size:11px;color:#667a98;text-align:center;padding:5px 0 7px}.calendar-grid{grid-auto-rows:46px;border-top:1px solid #edf2f7;border-left:1px solid #edf2f7}.cal-day{position:relative;border-right:1px solid #edf2f7;border-bottom:1px solid #edf2f7;background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;color:#38506f;padding:0;min-width:0}.cal-day.other{color:#b8c2d0;background:#fbfcfe}.cal-day.selected .day-num{background:var(--blue);color:#fff;box-shadow:0 4px 10px rgba(18,126,241,.3)}.day-num{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;position:relative}.cal-day.busy:not(.selected) .day-num{background:#fff0f0}.cal-day.done:not(.selected) .day-num{background:#effaf3}.cal-dot{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:#ff615f}.cal-day.done .cal-dot{background:#25ba67}.cal-day.today:not(.selected) .day-num{outline:1.5px solid #65b3ff}.day-summary{padding:12px 0 4px}.day-summary-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.day-summary-head h3{font-size:17px;margin:0;color:#0c5cbd}.day-summary-head span{font-size:12px;color:#1685ef}.empty-state{padding:24px 12px;text-align:center;color:#9aa9bb;font-size:13px}.plan-list-card{border-radius:14px;background:#fff;border:1px solid #edf1f6;box-shadow:0 5px 18px rgba(20,62,117,.06);overflow:hidden}.plan-list-item{display:grid;grid-template-columns:5px 38px 1fr 24px;align-items:center;min-height:80px}.plan-accent{align-self:stretch;background:#ff5c63}.plan-accent.service{background:#f7aa23}.plan-type-icon{width:34px;height:34px;border-radius:10px;background:#f4f7fb;display:grid;place-items:center;color:#3b536f}.plan-type-icon svg{width:18px}.plan-list-text{min-width:0}.plan-list-text b{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-list-text small{display:block;color:#8b9bb0;margin-top:4px;font-size:12px}.plan-chevron{font-size:26px;color:#607594}
/* Full-screen mobile new plan */
.sheet,.detail-sheet{position:fixed;z-index:200;inset:0;background:#fff;transform:translateY(105%);transition:transform .24s ease;overflow:hidden}.sheet.open,.detail-sheet.open{transform:translateY(0)}.sheet-panel,.detail-panel{height:100dvh;display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.sheet-header,.detail-toolbar{height:58px;flex:0 0 58px;display:grid;grid-template-columns:1fr 44px;align-items:center;padding:0 16px;border-bottom:1px solid #edf1f5;background:#fff}.sheet-header h2{font-size:18px;margin:0}.sheet-close{width:40px;height:40px;border:0;background:transparent;font-size:28px;color:#55708f}.plan-form{padding:13px 16px 96px;overflow-y:auto;overflow-x:hidden;display:grid;gap:12px;min-width:0}.field{display:grid;gap:7px;min-width:0}.field>span,.team-picker legend{font-size:12px;font-weight:800;color:#213a5d}.field input,.field textarea,.field select{width:100%;min-width:0;border:1px solid #dce5ef;border-radius:11px;background:#fff;padding:12px 13px;outline:none;font-size:14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#5baaff;box-shadow:0 0 0 3px #e9f4ff}.field textarea{resize:vertical}.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.type-grid label{min-width:0}.type-grid input{display:none}.type-option{height:74px;border-radius:11px;background:#f4f6f9;border:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;font-size:10px;line-height:1.1;color:#233c61}.type-option svg{width:20px;height:20px}.type-grid input:checked+.type-option{background:linear-gradient(180deg,#2496ff,#0d7aec);color:#fff;box-shadow:0 7px 16px rgba(18,128,244,.2)}.team-picker{margin:0;border:0;padding:0;min-width:0}.team-chips{display:flex;overflow-x:auto;gap:8px;padding:2px 1px 5px;scrollbar-width:none}.team-chips::-webkit-scrollbar{display:none}.team-chip{flex:0 0 auto;position:relative}.team-chip input{display:none}.team-chip>span,.team-chip>b{pointer-events:none}.team-chip{height:38px;border-radius:20px;background:#f2f5f8;border:1px solid #e4eaf0;padding:4px 10px 4px 5px;display:flex;align-items:center;gap:5px;font-size:11px;color:#50657f}.team-chip input:checked~b{color:#006fe3}.team-chip:has(input:checked){background:#eaf5ff;border-color:#84beff}.avatar{border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d8e9fb,#a9c9ea);color:#19456f;font-weight:800}.avatar-xs{width:28px;height:28px;font-size:11px}.avatar-md{width:38px;height:38px}.sheet-actions{position:fixed;z-index:2;left:0;right:0;bottom:0;padding:10px 16px calc(10px + var(--safe-bottom));display:grid;grid-template-columns:1fr 1.6fr;gap:10px;background:rgba(255,255,255,.98);border-top:1px solid #edf1f5}.form-error{padding:10px 12px;border-radius:10px;background:#fff0f0;color:#bb2b35;font-size:12px}
/* Detail */
.detail-toolbar{grid-template-columns:44px 1fr 72px}.detail-toolbar>b{text-align:center}.text-button{border:0;background:#eff7ff;color:#1481ed;border-radius:9px;padding:7px 10px;font-size:12px}.detail-scroll{height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 58px);overflow-y:auto;padding:12px 16px 110px}.detail-top-row{display:flex;justify-content:space-between;align-items:center}.type-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;background:#f1f5fa;font-size:10px;font-weight:800}.status-badge{padding:6px 11px;border-radius:9px;background:#1385f5;color:#fff;font-size:11px}.detail-title{font-size:20px;margin:13px 0 12px;line-height:1.2}.detail-meta{display:grid;gap:9px;padding-bottom:13px;border-bottom:1px solid #edf1f5}.meta-line{display:flex;gap:7px;align-items:flex-start;color:#627794;font-size:12px}.meta-line svg{width:16px;height:16px;flex:0 0 16px}.detail-description{font-size:13px;line-height:1.5;color:#657895;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:17px 0 8px}.section-heading b{font-size:15px}.section-heading span{font-size:11px;color:#7e90a7}.participant-row{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:7px 0}.participant-row .avatar{width:32px;height:32px}.participant-row b{font-size:12px}.participant-row small{font-size:10px;color:#8495aa}.response-pill{font-size:10px;padding:5px 7px;border-radius:10px}.response-pill.going{background:#dff7e8;color:#19934b}.response-pill.maybe{background:#fff2d9;color:#b26d00}.response-pill.not_going{background:#ffe6e6;color:#d34242}.response-pill.pending{background:#eef2f6;color:#6e8199}.response-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.response-actions button{border:1px solid #dde6f0;background:#fff;border-radius:10px;padding:9px 4px;font-size:11px}.complete-button{position:fixed;z-index:3;left:16px;right:16px;bottom:calc(10px + var(--safe-bottom));height:52px;border:0;border-radius:12px;background:linear-gradient(180deg,#35c26d,#22aa59);color:#fff;font-weight:800;box-shadow:0 8px 20px rgba(40,180,95,.2)}
/* Chat */
.chat-screen{height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 128px);display:flex;flex-direction:column;background:#fff}.chat-subhead{display:flex;gap:10px;align-items:center;padding:4px 16px 12px;border-bottom:1px solid #edf1f5}.chat-subhead b{display:block;font-size:15px}.chat-subhead small{font-size:10px;color:#91a0b4}.chat-bell{width:34px;height:34px;border-radius:50%;background:#f5f8fb;display:grid;place-items:center}.chat-bell svg{width:17px}.online-dot{display:inline-block;width:6px;height:6px;background:#27bd64;border-radius:50%}.chat-messages{flex:1;overflow-y:auto;padding:12px 14px 8px;background:linear-gradient(180deg,#fff,#fbfdff)}.bubble{max-width:82%;margin:0 0 12px;display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:start}.bubble-avatar{width:34px;height:34px;border-radius:50%;background:#dcebf8;display:grid;place-items:center;font-size:12px;font-weight:800;grid-row:1/4}.bubble-body{background:#f1f4f8;border-radius:6px 14px 14px 14px;padding:9px 11px}.bubble-name{font-size:11px;font-weight:800;margin-bottom:3px}.bubble p{margin:0;font-size:13px;line-height:1.35}.bubble-time{font-size:9px;color:#8fa0b5;margin-top:4px}.bubble.mine{margin-left:auto;grid-template-columns:1fr}.bubble.mine .bubble-avatar,.bubble.mine .bubble-name{display:none}.bubble.mine .bubble-body{background:linear-gradient(180deg,#1a8fff,#0877ed);color:#fff;border-radius:14px 6px 14px 14px}.bubble.mine .bubble-time{text-align:right;color:#7295c0}.typing-indicator{min-height:29px;padding:5px 16px;color:#617792;font-size:11px}.typing-indicator:not(:empty)::before{content:'•••';display:inline-block;background:#eef2f6;border-radius:15px;padding:3px 8px;margin-right:5px;letter-spacing:2px;color:#788ca7}.chat-compose{height:60px;display:grid;grid-template-columns:34px 1fr 38px;gap:7px;align-items:center;padding:6px 12px;border-top:1px solid #e9eef4;background:#fff}.compose-plus,.send-button{width:34px;height:34px;border-radius:50%;border:0;background:var(--blue);color:#fff;font-size:22px;display:grid;place-items:center}.send-button{font-size:15px}.chat-compose textarea{height:38px;max-height:90px;resize:none;border:1px solid #dfe6ee;border-radius:19px;padding:9px 13px;outline:0;font-size:13px;overflow:auto}
/* Generic pages from full package */
.page,.panel,.setup-card{max-width:1100px;margin:auto}.screen-content>.panel,.screen-content>.page{padding:14px}.panel{background:#fff}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.panel-head h2{font-size:18px}.btn{border:1px solid #dce4ee;background:#fff;border-radius:10px;padding:9px 12px}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.small{font-size:12px;padding:7px 9px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.filters input,.filters select,.form-grid input,.form-grid textarea,.form-grid select{border:1px solid #dce5ef;border-radius:10px;padding:11px;background:#fff}.cards-list{display:grid;gap:10px}.job-card{border:1px solid #edf1f6;border-radius:14px;padding:12px;display:flex;gap:10px;align-items:center}.grow{flex:1;min-width:0}.datebox{width:50px;text-align:center;font-weight:800}.datebox small{display:block}.job-title b{display:block}.type{font-size:10px;color:#1682ed}.attendance-mini{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.attendance-mini span{font-size:10px;padding:4px 6px;border-radius:8px;background:#f3f5f8}.status{font-size:10px;padding:5px 7px;border-radius:8px;background:#eaf4ff}.form-grid{display:grid;gap:10px}.form-grid label{display:grid;gap:5px}.alert{padding:10px;border-radius:10px}.alert.ok{background:#e8f8ee;color:#168447}.alert.err{background:#fff0f0;color:#b52a2a}.setup-card{padding:30px 18px}.brand-logo{max-width:280px;width:100%}
/* Desktop app frame */
@media(min-width:900px){body{background:#edf4fb}.app-shell{display:grid;grid-template-columns:260px 1fr;max-width:1420px;margin:auto;min-height:100dvh;background:#fff;box-shadow:0 0 60px rgba(30,67,110,.08)}.desktop-sidebar{display:flex;flex-direction:column;padding:24px 18px;border-right:1px solid #e9eef5;background:#fbfdff;position:sticky;top:0;height:100dvh}.desktop-brand img{width:210px}.desktop-sidebar nav{display:grid;gap:7px;margin-top:32px}.side-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;color:#536a87}.side-link.active{background:#eaf4ff;color:#0d79e8}.desktop-user{margin-top:auto;display:grid;grid-template-columns:40px 1fr 30px;align-items:center;gap:8px}.desktop-user small{display:block;color:#8d9bae}.desktop-user>a svg{width:19px}.phone-stage{padding-top:62px;max-width:760px;width:100%;margin:0 auto;box-shadow:0 0 30px rgba(30,73,123,.06)}.mobile-topbar{left:260px;max-width:760px;margin:auto;height:62px;padding-top:0}.mobile-bottom-nav{left:260px;max-width:760px;margin:auto}.sheet,.detail-sheet{left:50%;right:auto;width:480px;transform:translate(-50%,105%);box-shadow:0 0 60px rgba(20,50,90,.18)}.sheet.open,.detail-sheet.open{transform:translate(-50%,0)}.sheet-panel,.detail-panel{height:100dvh}.sheet-actions{width:480px;left:50%;transform:translateX(-50%)}.complete-button{width:448px;left:50%;right:auto;transform:translateX(-50%)}.calendar-grid{grid-auto-rows:58px}.cal-day{font-size:14px}}
@media(max-width:370px){.calendar-app{padding-left:8px;padding-right:8px}.calendar-grid{grid-auto-rows:42px}.day-num{width:31px;height:31px}.type-grid{gap:4px}.type-option{height:70px;font-size:9px}.plan-form{padding-left:12px;padding-right:12px}.sheet-actions{padding-left:12px;padding-right:12px}.login-screen{padding-left:12px;padding-right:12px}}

/* V6 — professional mobile dock */
.mobile-bottom-nav{height:calc(var(--safe-bottom) + 78px);padding:8px 10px calc(8px + var(--safe-bottom));display:block;background:linear-gradient(180deg,rgba(255,255,255,.90),#fff 34%);border-top:0;box-shadow:0 -12px 30px rgba(7,39,93,.08);backdrop-filter:blur(20px)}
.dock-surface{height:62px;max-width:560px;margin:0 auto;padding:5px 7px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:3px;border:1px solid rgba(15,68,130,.07);border-radius:22px;background:rgba(248,251,255,.96);box-shadow:0 6px 22px rgba(21,67,119,.08)}
.dock-item,.dock-create{min-width:0;height:52px;border-radius:17px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#7890ad;font-size:9.5px;font-weight:700;transition:.18s ease;position:relative}
.dock-item svg,.dock-create svg{width:20px;height:20px;stroke-width:2}.dock-item.active{color:#087bf0;background:#fff;box-shadow:0 5px 14px rgba(18,91,172,.11)}
.dock-item.active:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#0b83f7}.dock-create{color:#fff;background:linear-gradient(145deg,#1694ff,#0a6fe4);box-shadow:0 8px 18px rgba(13,124,239,.24)}
.dock-create-icon{display:grid;place-items:center}.dock-create span:last-child{font-size:9.5px}.phone-stage{padding-bottom:calc(var(--safe-bottom) + 84px)}.screen-content{min-height:calc(100dvh - 142px - var(--safe-top) - var(--safe-bottom))}

/* Team page */
.app-page{padding:14px 14px 28px;max-width:100%;overflow-x:hidden}.page-hero{border-radius:20px;padding:16px;background:linear-gradient(135deg,#f5faff,#edf6ff);border:1px solid #e5f0fb;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.compact-hero h1{margin:3px 0 4px;font-size:19px;letter-spacing:-.35px}.compact-hero p{margin:0;color:#71849f;font-size:11px;line-height:1.45}.eyebrow{font-size:9px;font-weight:900;letter-spacing:1.2px;color:#1684f3}.hero-stat{width:72px;height:72px;border-radius:20px;background:#fff;box-shadow:0 8px 20px rgba(25,85,151,.09);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.hero-stat b{font-size:24px;color:#087df0}.hero-stat span{font-size:9px;color:#8191a7}.toast-card{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;margin:10px 0;font-size:12px}.toast-card svg{width:18px}.toast-card.success{background:#eaf8ef;color:#14864a}.toast-card.error{background:#fff0f1;color:#bd3039}
.team-add-card{border:1px solid #e7edf4;border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}.section-toggle{width:100%;border:0;background:#fff;padding:13px;display:grid;grid-template-columns:40px 1fr 22px;gap:10px;align-items:center;text-align:left}.toggle-icon{width:40px;height:40px;border-radius:13px;background:#eaf5ff;color:#087df0;display:grid;place-items:center}.toggle-icon svg{width:19px}.section-toggle b{display:block;font-size:13px}.section-toggle small{display:block;font-size:10px;color:#8a9aaf;margin-top:2px}.toggle-arrow{font-size:24px;color:#9cafc4}.team-add-form{display:none;padding:2px 13px 14px;border-top:1px solid #eff3f7}.team-add-form.open{display:grid;gap:10px}.form-row-2{display:grid;grid-template-columns:1fr;gap:10px}.modern-field{display:grid;gap:6px;min-width:0}.modern-field span{font-size:10px;font-weight:800;color:#39526f}.modern-field input,.modern-field textarea,.modern-field select{width:100%;min-width:0;border:1px solid #dfe7f0;border-radius:12px;padding:11px 12px;background:#fff;outline:none}.modern-field input:focus,.modern-field textarea:focus,.modern-field select:focus{border-color:#6db5fb;box-shadow:0 0 0 3px #edf7ff}.primary-action{border:0;border-radius:12px;background:linear-gradient(180deg,#168eff,#0a73e5);color:#fff;font-weight:800;padding:12px 15px}.team-save{margin-top:2px}.team-section,.notes-section{margin-top:4px}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin:12px 2px 8px}.section-title-row h2{font-size:15px;margin:0}.section-title-row small{display:block;color:#94a3b6;font-size:10px;margin-top:2px}.member-list{display:grid;gap:9px}.member-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #e9eef4;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(31,75,126,.05)}.member-card.disabled{opacity:.58;background:#f7f9fb}.member-avatar{position:relative}.member-avatar>span{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#0b87f7,#0a5dcc);color:#fff;display:grid;place-items:center;font-weight:900}.presence-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;border:2px solid #fff}.presence-dot.online{background:#28bd65}.presence-dot.offline{background:#b7c2cf}.member-main{min-width:0}.member-name-line{display:flex;align-items:center;gap:6px}.member-main b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-main small{display:block;font-size:9.5px;color:#8b9bae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-email{margin-top:1px}.you-badge{font-size:8px;padding:2px 5px;border-radius:7px;background:#e9f5ff;color:#0c80ed}.member-meta{display:none}.member-action{grid-column:3;grid-row:1}.status-toggle{min-width:63px;border:0;border-radius:16px;padding:6px 8px;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:800}.status-toggle span{width:7px;height:7px;border-radius:50%}.status-toggle.on{background:#e8f8ef;color:#188b4d}.status-toggle.on span{background:#22b760}.status-toggle.off{background:#f1f3f6;color:#79899c}.status-toggle.off span{background:#98a5b5}.self-lock{color:#8fa0b4;display:grid;place-items:center}.self-lock svg{width:18px}

/* Notes */
.notes-hero{align-items:flex-start}.hero-action{border:0;border-radius:12px;background:#fff;color:#087df0;padding:9px 11px;display:flex;align-items:center;gap:5px;box-shadow:0 6px 15px rgba(15,77,145,.09);font-size:10px;font-weight:800;white-space:nowrap}.hero-action svg{width:16px}.note-composer{display:none;border:1px solid #e7edf4;border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:13px;margin-bottom:14px}.note-composer.open{display:block}.composer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.composer-head b{display:block;font-size:13px}.composer-head small{display:block;font-size:9.5px;color:#91a0b3;margin-top:2px}.composer-head button{border:0;background:#f3f6f9;width:30px;height:30px;border-radius:10px;font-size:18px}.note-form{display:grid;gap:10px}.pin-check{display:flex;align-items:center;gap:7px;font-size:11px;color:#617792}.note-card-grid{display:grid;gap:10px}.modern-note-card{border:1px solid #e8edf4;border-radius:17px;background:#fff;padding:13px;box-shadow:0 6px 18px rgba(31,75,126,.05);position:relative;overflow:hidden}.modern-note-card.pinned:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#1689f7}.note-top{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center}.note-symbol{width:38px;height:38px;border-radius:12px;background:#eef6ff;color:#0d82ef;display:grid;place-items:center}.note-symbol svg{width:17px}.note-top h3{font-size:12px;margin:0 0 2px}.note-top small{font-size:9px;color:#95a3b4}.note-actions{display:flex;gap:4px}.note-actions form{margin:0}.note-actions button{width:29px;height:29px;border:0;border-radius:9px;background:#f4f6f9;color:#71849c}.note-actions button.danger{color:#d64a51}.modern-note-card>p{margin:10px 0 0;font-size:11.5px;line-height:1.55;color:#627690;word-break:break-word}.empty-card{padding:28px 18px;border:1px dashed #d9e4ef;border-radius:17px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#8999ac}.empty-card svg{width:28px;margin-bottom:7px}.empty-card b{font-size:12px}.empty-card span{font-size:10px;margin-top:3px}

/* Chat composer icons */
.chat-screen{position:relative}.compose-icon,.send-button{width:36px;height:36px;border-radius:50%;border:0;display:grid;place-items:center}.compose-icon{background:#f0f5fa;color:#42688e}.compose-icon svg{width:18px}.send-button{background:linear-gradient(145deg,#168eff,#0872e7);color:#fff;box-shadow:0 5px 12px rgba(9,119,231,.22)}.send-button svg{width:17px}.emoji-tray{position:absolute;left:12px;right:12px;bottom:60px;display:none;grid-template-columns:repeat(5,1fr);gap:6px;padding:9px;border:1px solid #e4ebf3;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(28,64,108,.15);z-index:8}.emoji-tray.open{display:grid}.emoji-tray button{height:38px;border:0;border-radius:10px;background:#f7f9fc;font-size:18px}.chat-compose{grid-template-columns:36px minmax(0,1fr) 38px}

/* Calendar export */
.calendar-sync-option{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid #dfe8f2;border-radius:13px;padding:10px;background:#f8fbff;cursor:pointer}.calendar-sync-option>input{position:absolute;opacity:0;pointer-events:none}.sync-icon{width:34px;height:34px;border-radius:11px;background:#e8f4ff;color:#087df0;display:grid;place-items:center}.sync-icon svg{width:17px}.calendar-sync-option b{display:block;font-size:11px}.calendar-sync-option small{display:block;font-size:9.5px;color:#8092a8;margin-top:2px;line-height:1.35}.calendar-sync-option:has(input:checked){border-color:#78bafa;background:#edf7ff;box-shadow:0 0 0 3px #f0f8ff}.calendar-sync-option:has(input:checked) .sync-icon{background:#0d83f4;color:#fff}.calendar-export-btn{margin-top:12px;display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:12px;background:#edf7ff;color:#0a7be8;font-size:11px;font-weight:800;border:1px solid #d5ebff}

@media(min-width:520px){.form-row-2{grid-template-columns:1fr 1fr}.member-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;grid-column:3;grid-row:2}.member-action{grid-row:1}.role-badge{font-size:8px;padding:3px 6px;border-radius:7px;background:#f1f4f8}.role-badge.admin{background:#e8f3ff;color:#087df0}.activity-text{font-size:8px;color:#93a1b3}}
@media(max-width:360px){.dock-surface{padding-left:4px;padding-right:4px}.dock-item,.dock-create{font-size:8.7px}.dock-item svg,.dock-create svg{width:18px;height:18px}.app-page{padding-left:10px;padding-right:10px}.page-hero{padding:13px}.compact-hero p{font-size:10px}.member-card{grid-template-columns:42px minmax(0,1fr) auto;padding:10px}.member-avatar>span{width:38px;height:38px}.hero-stat{width:64px;height:64px}}

/* ================= ProsisPlan V7 Corporate Mobile UI ================= */
:root{--surface:#fff;--surface-soft:#f6f9fd;--line:#e7eef6;--text:#0b2852;--muted:#7d90a8;--blue:#0b82f4;--blue2:#0868d7;--green:#22b865}
html,body{max-width:100%;overflow-x:hidden}
body.drawer-open{overflow:hidden}
.topbar-menu{width:40px;height:40px;border:0;border-radius:12px;background:#f5f8fc;color:#173b67;display:grid;place-items:center}.topbar-menu svg{width:21px;height:21px}
.mobile-drawer-backdrop{position:fixed;z-index:205;inset:0;background:rgba(5,24,52,.36);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.22s ease}.mobile-drawer-backdrop.open{opacity:1;visibility:visible}
.mobile-drawer{position:fixed;z-index:210;left:0;top:0;bottom:0;width:min(86vw,330px);padding:calc(var(--safe-top) + 14px) 14px calc(var(--safe-bottom) + 16px);background:#fff;box-shadow:18px 0 50px rgba(7,39,93,.2);transform:translateX(-105%);transition:transform .24s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.mobile-drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 14px;border-bottom:1px solid var(--line)}.drawer-user{display:flex;align-items:center;gap:10px;min-width:0}.drawer-avatar{width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,#0d8cff,#065cbf);color:#fff;font-weight:900;display:grid;place-items:center;box-shadow:0 8px 18px rgba(10,112,225,.22)}.drawer-user b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.drawer-user small{display:block;color:#8a9bb0;font-size:10px;margin-top:2px}.drawer-close{width:36px;height:36px;border:0;border-radius:11px;background:#f4f7fb;color:#5b708b;display:grid;place-items:center}.drawer-close svg{width:18px}
.drawer-nav{display:grid;gap:5px;padding:12px 0;overflow:auto}.drawer-nav a{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border-radius:14px;color:#183b66}.drawer-nav a:active{background:#edf6ff}.drawer-nav>a>svg{width:20px;height:20px;margin:auto;color:#167fe9}.drawer-nav span b{display:block;font-size:12px}.drawer-nav span small{display:block;font-size:9.5px;color:#8a9bb0;margin-top:2px}.drawer-logout{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:13px;background:#fff1f2;color:#c53b45;font-size:11px;font-weight:800}.drawer-logout svg{width:18px}

/* Chat: app-like, keyboard stable, online presence */
.chat-screen{height:100%;min-height:0;display:flex;flex-direction:column;background:#fff;overflow:hidden}.chat-room-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:9px 14px 8px;border-bottom:1px solid #eef2f6;background:#fff}.chat-room-copy{display:flex;align-items:center;gap:10px}.chat-room-icon{width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#eaf5ff,#f7fbff);color:#0b7eea;display:grid;place-items:center}.chat-room-icon svg{width:19px}.chat-room-copy b{display:block;font-size:14px;letter-spacing:-.15px}.chat-room-copy small{display:flex;align-items:center;gap:5px;color:#8294aa;font-size:9.5px;margin-top:2px}.chat-head-button{width:37px;height:37px;border:0;border-radius:12px;background:#f4f8fc;color:#446481;display:grid;place-items:center}.chat-head-button svg{width:18px}
.online-users-strip{flex:0 0 auto;display:flex;gap:11px;overflow-x:auto;padding:9px 14px 8px;border-bottom:1px solid #f0f3f7;background:#fbfdff;scrollbar-width:none;transition:.2s ease}.online-users-strip::-webkit-scrollbar{display:none}.online-users-strip.expanded{flex-wrap:wrap;overflow:visible}.online-person{min-width:47px;display:flex;flex-direction:column;align-items:center;gap:4px}.online-person-avatar{position:relative;width:36px;height:36px;border-radius:13px;background:linear-gradient(145deg,#eaf4ff,#dcecff);color:#155d9d;display:grid;place-items:center;font-size:11px;font-weight:900}.online-person-avatar i{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:#27bf67;border:2px solid #fff}.online-person small{max-width:52px;font-size:8.5px;color:#617791;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-empty{font-size:10px;color:#91a1b4;padding:5px 0}
.chat-messages{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 13px 10px;background:linear-gradient(180deg,#fff 0,#f9fbfe 100%)}.bubble{max-width:84%;margin-bottom:11px}.bubble-body{box-shadow:0 2px 7px rgba(20,55,95,.04);border:1px solid rgba(217,226,236,.55)}.bubble.mine .bubble-body{border:0;box-shadow:0 6px 14px rgba(6,114,226,.14)}
.typing-indicator{flex:0 0 auto;min-height:27px;padding:4px 14px;color:#60758f;font-size:10px;background:#fff}.chat-compose{flex:0 0 auto;min-height:56px;height:auto;display:grid;grid-template-columns:36px minmax(0,1fr) 38px;gap:8px;align-items:end;padding:7px 11px calc(7px + env(safe-area-inset-bottom,0px));border-top:1px solid #e7edf4;background:rgba(255,255,255,.98);backdrop-filter:blur(16px)}.chat-compose textarea{display:block;width:100%;min-width:0;height:38px;max-height:96px;resize:none;border:1px solid #dce5ee;border-radius:18px;padding:9px 13px;outline:0;font-size:14px;line-height:19px;overflow-y:auto;background:#f9fbfd;color:#153653}.chat-compose textarea:focus{border-color:#80bdfa;background:#fff;box-shadow:0 0 0 3px #eff7ff}.send-button:disabled{opacity:.45;box-shadow:none}.emoji-tray{bottom:62px}

/* Profile */
.profile-page{padding-bottom:28px}.profile-identity-card{display:flex;align-items:center;gap:13px;padding:15px;border-radius:20px;background:linear-gradient(135deg,#0c7ff0,#075fc8);color:#fff;box-shadow:0 12px 30px rgba(5,101,207,.18);margin-bottom:13px}.profile-avatar-xl{width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);display:grid;place-items:center;font-size:22px;font-weight:900}.profile-kicker{font-size:8px;font-weight:900;letter-spacing:1.1px;opacity:.75}.profile-identity-text h1{font-size:18px;margin:3px 0 2px;letter-spacing:-.25px}.profile-identity-text p{margin:0;font-size:9.5px;opacity:.78}.profile-form-card{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(25,67,113,.06)}.profile-section-title{display:flex;align-items:center;gap:9px;margin-bottom:2px}.section-icon{width:36px;height:36px;border-radius:12px;background:#edf6ff;color:#0c7fe9;display:grid;place-items:center}.section-icon svg{width:17px}.profile-section-title b{display:block;font-size:12px}.profile-section-title small{display:block;color:#91a0b3;font-size:9px;margin-top:1px}.profile-divider{height:1px;background:#edf1f5;margin:2px 0}.profile-save{min-height:44px;margin-top:3px}.profile-quick-links{display:grid;gap:8px;margin-top:12px}.profile-quick-links a{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:9px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:#fff;color:#183c67}.profile-quick-links>a>span{width:38px;height:38px;border-radius:12px;background:#eef6ff;color:#0c7fe9;display:grid;place-items:center}.profile-quick-links>a>span svg{width:17px}.profile-quick-links b{display:block;font-size:11px}.profile-quick-links small{display:block;font-size:8.8px;color:#8c9caf;margin-top:2px}.profile-quick-links i{font-style:normal;font-size:21px;color:#a2b0c0}.profile-quick-links .danger-link{color:#b93742}.profile-quick-links .danger-link>span{background:#fff0f1;color:#ca3e49}

/* Unified premium controls */
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.primary-action,.btn.primary{box-shadow:0 7px 16px rgba(10,117,230,.16)}.primary-action:active,.dock-item:active,.dock-create:active,.topbar-menu:active,.chat-head-button:active{transform:scale(.98)}

@media(max-width:899px){
 body.chat-active{position:fixed;inset:0;width:100%;height:var(--chat-vh,var(--app-height));overflow:hidden;background:#fff}
 body.chat-active .app-shell,body.chat-active .phone-stage{height:var(--chat-vh,var(--app-height));min-height:0;overflow:hidden}
 body.chat-active .screen-content{height:calc(var(--chat-vh,var(--app-height)) - var(--safe-top) - 58px - var(--safe-bottom) - 84px);min-height:0;overflow:hidden}
 body.chat-active:has(.chat-compose textarea:focus) .mobile-bottom-nav{display:none}
 body.chat-active:has(.chat-compose textarea:focus) .phone-stage{padding-bottom:0}
 body.chat-active:has(.chat-compose textarea:focus) .screen-content{height:calc(var(--chat-vh,var(--app-height)) - var(--safe-top) - 58px);}
 body.chat-active:has(.chat-compose textarea:focus) .chat-compose{padding-bottom:calc(7px + env(safe-area-inset-bottom,0px))}
}
@media(min-width:900px){.mobile-drawer,.mobile-drawer-backdrop{display:none!important}.profile-page{max-width:720px;margin:auto}.chat-screen{height:calc(100dvh - 62px - 84px)}}
