:root{--navy:#071827;--navy2:#0c2b3d;--blue:#12aee8;--blue2:#078fca;--ice:#eff7fa;--line:#dbe7ec;--text:#102332;--muted:#6e808b;--green:#21a665;--red:#d9454f;--orange:#f59b23;--shadow:0 22px 60px rgba(5,25,40,.14);--radius:22px}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text)}button,input,textarea,select{font:inherit}.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:#85e0ff}.eyebrow.blue{color:var(--blue2)}.btn{border:0;border-radius:13px;padding:13px 17px;font-weight:900;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:white}.btn.green{background:var(--green);color:#fff}.btn.soft{background:#edf6fa;color:#0a415c}.btn.dark{background:var(--navy);color:#fff}.btn.warn{background:#fff3e3;color:#9b5b00}.btn.outline-red{background:#fff;color:var(--red);border:1px solid #f0aab0}.btn.small{padding:9px 12px;font-size:12px}.btn.full{width:100%}.login-body{background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr)}.login-hero{position:relative;overflow:hidden;background:#071827}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,35,.93),rgba(5,22,35,.45) 62%,rgba(5,22,35,.12))}.hero-content{position:relative;z-index:2;color:#fff;padding:48px;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between}.brand-lockup img{width:245px;max-height:110px;object-fit:contain;background:#fff;border-radius:18px;padding:10px}.login-copy{max-width:760px}.login-copy h1{font-size:clamp(52px,6vw,84px);line-height:.98;margin:14px 0 18px;letter-spacing:-3px}.login-copy h1 span{color:var(--blue)}.login-copy p{font-size:20px;color:#dcecf3;max-width:690px}.login-badges{display:flex;gap:12px;flex-wrap:wrap}.login-badges span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);color:#ecfbff;padding:10px 14px;border-radius:999px;font-size:13px;font-weight:800}.login-card{display:grid;place-items:center;padding:42px}.login-card-inner{width:min(440px,100%)}.login-card h2{font-size:42px;letter-spacing:-1.5px;margin:10px 0 8px}.stack{display:grid;gap:16px;margin-top:28px}.stack label{font-size:14px;font-weight:800;display:grid;gap:8px}.stack input{border:1px solid var(--line);border-radius:14px;padding:15px 16px;outline:none}.stack input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(9,174,232,.08)}.demo-box{margin-top:22px;background:#f4f8fb;border:1px solid var(--line);padding:16px;border-radius:16px;font-size:13px;line-height:1.75}.demo-box small{display:block;margin-top:8px;color:#b26b09}.error-text{color:#b42e37;font-weight:800}.app-body{background:#eef5f8}.app-shell{min-height:100vh;max-width:1260px;margin:auto;background:#f8fbfd;position:relative;padding-bottom:92px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.topbar-brand{border:0;background:#fff;padding:4px 8px;border-radius:12px}.topbar-brand img{height:49px;width:auto}.topbar-actions{display:flex;gap:10px}.icon-btn,.avatar{border:0;border-radius:14px;background:#edf5f8;width:44px;height:44px;font-weight:900;cursor:pointer}.avatar{background:var(--navy);color:#fff;overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover}#view{padding:24px}.loading{padding:50px;text-align:center;color:var(--muted)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-head h1{font-size:34px;letter-spacing:-1.2px;margin:0}.page-head p{margin:5px 0 0;color:var(--muted)}.welcome-hero{position:relative;overflow:hidden;border-radius:28px;min-height:260px;margin-bottom:20px;color:#fff;box-shadow:var(--shadow)}.welcome-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.welcome-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,39,.91),rgba(5,24,39,.45) 58%,rgba(5,24,39,.12))}.welcome-content{position:relative;z-index:2;padding:32px;max-width:620px}.welcome-content h1{font-size:40px;margin:8px 0 10px;letter-spacing:-1.5px}.welcome-content p{color:#dbeaf0;font-size:17px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.stat .num{font-size:29px;font-weight:900}.stat .label{font-size:13px;color:var(--muted)}.section-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 10px 32px rgba(5,25,40,.05);margin-bottom:18px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.section-title h2{font-size:20px;margin:0}.link-btn{border:0;background:transparent;color:var(--blue2);font-weight:900;cursor:pointer}.job-list{display:grid;gap:12px}.job{border:1px solid var(--line);border-radius:17px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:#fff}.job h3{margin:0 0 7px;font-size:17px}.job-meta{font-size:13px;color:var(--muted);display:grid;gap:4px}.status{font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px;background:#e8f7ff;color:#087ba7;white-space:nowrap}.status.active{background:#e8f8ee;color:#167d4d}.status.completed{background:#eef0f2;color:#465660}.status.unassigned{background:#fff3e2;color:#955900}.source-chip{display:inline-block;background:#edf2ff;color:#3455a8;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;margin-left:6px}.job-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.job-actions .btn{padding:10px 13px;font-size:13px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1260px,100%);height:76px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:transparent;color:#7a8b97;display:grid;place-items:center;align-content:center;gap:4px;cursor:pointer}.bottom-nav button span{font-size:21px}.bottom-nav button small{font-size:11px;font-weight:800}.bottom-nav button.active{color:var(--blue2)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-hero{background:linear-gradient(135deg,#0a1a28,#0a334a);color:#fff;border-radius:24px;padding:24px}.detail-hero h2{font-size:30px;margin:8px 0}.detail-hero p{color:#c8d9e2}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.detail-mini{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.09);border-radius:15px;padding:14px}.detail-mini strong{display:block;font-size:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:900}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff;min-width:0}.field textarea{min-height:100px;resize:vertical}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-pill{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:11px;border-radius:12px;background:#fff}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.team-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.team-person{display:flex;gap:13px;align-items:center}.person-photo{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#dceaf0,#f7fbfd);display:grid;place-items:center;font-size:22px;font-weight:900;overflow:hidden;flex:0 0 auto}.person-photo img{width:100%;height:100%;object-fit:cover}.person-copy h3{margin:0 0 3px}.person-copy p{margin:0;color:var(--muted);font-size:13px}.birthday-chip{margin-top:13px;background:#fff4d7;border:1px solid #f4d89a;border-radius:999px;padding:7px 10px;display:inline-flex;font-size:12px;font-weight:900}.profile-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.profile-card{background:linear-gradient(150deg,#071827,#0d354c);color:#fff;border-radius:26px;padding:26px}.profile-photo{width:128px;height:128px;border-radius:50%;overflow:hidden;background:#e4eef3;border:4px solid rgba(255,255,255,.2);display:grid;place-items:center;font-size:38px;font-weight:900;margin-bottom:18px}.profile-photo img{width:100%;height:100%;object-fit:cover}.upload-label{display:inline-block;margin-top:12px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);padding:10px 12px;border-radius:12px;font-weight:800;font-size:13px;cursor:pointer}.upload-label input{display:none}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #edf2f5}.switch{position:relative;width:48px;height:28px;flex:0 0 auto}.switch input{display:none}.switch span{position:absolute;inset:0;background:#cbd8df;border-radius:999px}.switch span:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--blue)}.switch input:checked+span:before{transform:translateX(20px)}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.admin-tile strong{display:block;font-size:25px}.admin-tile span{color:var(--muted);font-size:13px}.planner-grid{display:grid;grid-template-columns:180px repeat(5,minmax(160px,1fr));gap:8px;overflow:auto;padding-bottom:8px}.planner-cell{min-height:118px;background:#f7fbfd;border:1px solid var(--line);border-radius:14px;padding:10px}.planner-head{font-weight:900;background:#eef6f9;min-height:auto}.planner-person{display:flex;align-items:center;gap:9px;font-weight:900}.mini-job{background:#fff;border:1px solid #d5e3e9;border-left:4px solid var(--blue);border-radius:10px;padding:9px;margin-bottom:8px;font-size:12px}.modal-backdrop{position:fixed;inset:0;background:rgba(3,18,28,.58);z-index:100;display:grid;place-items:center;padding:16px}.modal{background:#fff;border-radius:24px;width:min(780px,100%);max-height:92vh;overflow:auto;padding:22px;box-shadow:var(--shadow)}.modal h2{margin:0 0 14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-box{border:2px dashed #b7d8e8;background:#f5fbfe;border-radius:18px;min-height:140px;display:grid;place-items:center;padding:14px;text-align:center;color:#4f7182;overflow:hidden}.photo-box img{max-width:100%;border-radius:10px}.signature{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px}.signature canvas{width:100%;height:180px;border:1px dashed #bfd0da;border-radius:12px;touch-action:none;background:#fff}.outlook-card{background:linear-gradient(145deg,#0d4f82,#1666ad);color:#fff;border-radius:22px;padding:22px}.outlook-card p{color:#dceeff}.feed-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px;word-break:break-all;font-size:12px}.badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.badge.green{background:#e7f6ed;color:#1e7a4f}.badge.orange{background:#fff0d8;color:#925600}.toast{position:fixed;right:20px;top:92px;background:#0a2a3d;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:var(--shadow);z-index:200}.timer{font-size:42px;font-weight:900}.logout{margin-top:18px}.birthday-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#fff5d9,#fff);border:1px solid #f2d79a;border-radius:18px;padding:15px 17px;margin-bottom:18px}
@media(max-width:950px){.team-grid{grid-template-columns:1fr 1fr}.profile-shell,.two-col{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:780px){.login-shell{grid-template-columns:1fr}.login-hero{min-height:52vh}.hero-content{min-height:52vh;padding:24px 20px}.login-copy h1{font-size:46px}.login-card{padding:28px 20px}.brand-lockup img{width:190px}.page-head{align-items:flex-start;flex-direction:column}.field-grid,.photo-grid,.check-grid{grid-template-columns:1fr}}@media(max-width:520px){#view{padding:16px}.welcome-content{padding:22px}.welcome-content h1{font-size:31px}.team-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.job{grid-template-columns:1fr}.status{justify-self:start}.topbar{padding:0 14px}.topbar-brand img{height:42px}.profile-photo{width:110px;height:110px}}
