/* ODS Horizon — cyan light, midnight blue, and the original ODS brand. */
:root{--ink:#102a50;--muted:#657b96;--line:#d7e5f0;--teal:#087da0;--bg:#eef6fb;--cyan:#24d1e8;--navy:#081b40;--electric:#22bad5}
body{background:radial-gradient(ellipse at 95% 0%,#c6f3fa80,transparent 48%),radial-gradient(ellipse at 0% 90%,#dae6ff70,transparent 55%),#eef5fb;color:var(--ink)}
body h1,body h2,body h3{letter-spacing:-.035em}body input,body select,body textarea{border-color:#cfdeed;border-radius:12px;min-height:46px}body input:focus,body select:focus,body textarea:focus{outline-color:#28bfd7;box-shadow:0 0 0 5px #22d3ee15}body input[type=range]{box-shadow:none;min-height:28px;padding:0;accent-color:#087da0}body input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:#087da0}
.logo-surface{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;background:#f7fcff;border:1px solid #ffffff80;border-radius:17px;box-shadow:0 4px 20px #05183318}.logo-surface img{width:100%;height:auto;object-fit:contain;display:block}.sidebar .brand{padding:0 8px 20px;display:block}.sidebar .logo-surface{width:100%;padding:12px 15px;border-radius:15px}.sidebar .brand img{width:100%;max-height:104px;object-fit:contain}.sidebar{background:radial-gradient(ellipse at 0 20%,#123b6860,transparent 65%),#081b40;border-right:1px solid #254269;box-shadow:8px 0 30px #09264a08;overflow-y:auto;padding-top:max(24px,env(safe-area-inset-top))}.sidebar small{color:#93acc8}.nav-label{color:#6f94b5;letter-spacing:2.2px}.nav-link{color:#b6c9e0;min-height:43px}.nav-link:hover{background:#17375b;color:#ecfcff}.nav-link.active{background:linear-gradient(110deg,#51e1ed,#a5f0fa);color:#07304d;box-shadow:0 5px 18px #1cbfd320}.sidebar-footer{border-color:#254163}.sidebar-footer .nav-link{padding-top:8px;padding-bottom:8px;min-height:39px}.nav-link.active .count{background:#0c688126;color:#07304d}.avatar{background:#dceefb;color:#1b668b}.topbar{border-color:#d4e3ef}.btn{border-color:#d3e2ef;border-radius:11px;min-height:42px;position:relative;overflow:hidden}.btn.primary{background:linear-gradient(120deg,#087da0,#085b88);border-color:#087da0;box-shadow:0 4px 10px #087da019}.btn.primary:hover{box-shadow:0 7px 21px #0685a333;background:linear-gradient(120deg,#0793b2,#09678f)}.btn.primary:active{transform:scale(.98)}.btn.small{min-height:34px}.btn.danger{color:#b33e57;background:#fff3f5;border-color:#f1cfda}.card,.glass{border:1px solid #ffffffd9;box-shadow:0 5px 30px #183f7110;background:#ffffffcf}.card{border-radius:20px}.welcome{background:radial-gradient(circle at 90% 20%,#117caa4f,transparent 40%),linear-gradient(112deg,#081b40,#113a63);padding:32px;border:1px solid #275377;box-shadow:0 12px 30px #0c305719}.welcome:after{border-color:#30daf31a;right:-20px;top:-110px}.welcome p{color:#b3cfe8}.welcome .eyebrow{color:#68e8f2}.welcome .btn{border-color:#c4edf3}.stat{position:relative;isolation:isolate;overflow:hidden}.stat:after{content:'';position:absolute;right:-10px;bottom:-45px;width:115px;height:115px;border-radius:50%;background:radial-gradient(circle,#b6ecf833,transparent 70%);z-index:-1}.stat .number{color:#103156}.stat .icon{color:#0c9fc0}.stat-top>.icon{box-sizing:content-box;padding:9px;border-radius:11px;background:#eaf7fc}.stat:hover{transform:translateY(-3px);box-shadow:0 12px 28px #173f7117}.card.stat{transition:transform .22s,box-shadow .22s}.feed-entry{border-color:#e4edf5}.progress{background:#e5edf8}.progress span{background:linear-gradient(90deg,#0787b0,#38c9df)}.badge.green{background:#e0f5f7;color:#08788c}.badge.blue{background:#e5eefe;color:#3a65b8}.badge.purple{background:#ebe8ff;color:#6551b5}.badge-count{background:#dc5575}.online-dot{background:#11bccc;box-shadow:0 0 0 3px #11bccc13}th{background:#f2f7fc;color:#697f99}td{border-color:#e3edf5}.skeleton{background:linear-gradient(100deg,#dfebf5 20%,#f9fdff 40%,#dfebf5 60%);background-size:200% 100%}.empty .icon{color:#8eb9ce}.modal-overlay{background:#041331ad}.modal{background:#f7fbff;border:1px solid #d5edff;box-shadow:0 30px 120px #020f3860}.modal-head{gap:14px}.toast{background:#0c3359;border:1px solid #48bfd645;box-shadow:0 10px 35px #061d4330;display:flex;align-items:center;gap:11px}.toast.error{background:#7d2843}.toast::before{content:'✓';display:grid;place-items:center;flex:none;width:23px;height:23px;background:#49d9ec26;color:#92f4ff;border-radius:50%;font-weight:800}.toast.error::before{content:'!';background:#ffffff21;color:white}.loading-screen{background:radial-gradient(circle at 50% 40%,#d3f1fb,#edf4fc 65%)}.guard-logo{width:205px;margin:0 auto 20px}.guard-logo img{width:100%;height:auto}.spinner{border-color:#d0e7f5;border-top-color:#039abb}.button-spinner{display:inline-block;width:16px;height:16px;border:2px solid #ffffff70;border-top-color:white;border-radius:50%;animation:spin .65s linear infinite}.save-button-label{display:inline-flex;gap:9px;align-items:center}.page-enter{animation:page-rise .35s both}@keyframes page-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.grid-stats>.stat{animation:page-rise .45s both}.grid-stats>.stat:nth-child(2){animation-delay:40ms}.grid-stats>.stat:nth-child(3){animation-delay:80ms}.grid-stats>.stat:nth-child(4){animation-delay:120ms}.grid-stats>.stat:nth-child(n+5){animation-delay:160ms}.connection-banner{padding:8px 18px;background:#fff3d9;color:#7c5917;font-size:12px;text-align:center;position:sticky;top:0;z-index:60}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* A focused, phone-friendly conversation surface. */
.conversation.selected{background:linear-gradient(110deg,#e0f5fa,#e6effc);box-shadow:inset 3px 0 #11b6d0}.conversation{transition:background .2s}.conversation-list{background:#f5f9fe}.chat-header{background:#ffffffdf}.chat-messages{background-color:#f0f6fc;background-image:radial-gradient(#c5ddea 1px,transparent 1px);background-size:22px 22px;overscroll-behavior:contain}.bubble{border:1px solid #e5edf6;box-shadow:0 3px 8px #0b31520a}.admin .bubble{background:linear-gradient(115deg,#d8f7fb,#e0eeff);border-color:#c4e7f4}.date-separator span{background:#e0ebf5;color:#5b7798}.chat-compose{background:#ffffffed;align-items:flex-end}.chat-compose textarea{padding:11px 13px;min-height:46px;height:46px;border-radius:14px}.chat-compose .btn{min-width:46px;min-height:46px}.chat-panel{overflow:hidden}.chat-header strong{color:#123256}.chat-compose textarea:disabled{background:#edf3fa}.sound-toggle{width:38px;padding:8px}.sound-toggle .icon{width:17px}.topbar .row{min-width:0}
/* Real transfer feedback. */
.upload-zone{grid-column:1/-1;position:relative;text-align:center;border:2px dashed #98c9df;border-radius:18px;background:linear-gradient(130deg,#f0fbff,#f0f4ff);padding:27px 20px;cursor:pointer;transition:all .2s;margin:0}.upload-zone:hover,.upload-zone.dragging,.upload-zone:focus-within{border-color:#05a7ca;background:#e4f7fc;box-shadow:0 0 0 5px #11a6c610}.upload-zone.selected{border-style:solid;border-color:#77cbdc}.upload-zone input[type=file]{position:absolute;width:1px;height:1px;min-height:0;opacity:0;left:50%;bottom:5px;padding:0;pointer-events:none}.upload-symbol{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;background:linear-gradient(130deg,#0a90b4,#104576);color:white;border-radius:18px;box-shadow:0 9px 20px #0a90b42b}.upload-symbol .icon{width:27px;height:27px;animation:upload-bob 2.5s ease-in-out infinite}.upload-zone strong{font-size:15px;display:block;overflow-wrap:anywhere}.upload-zone small{display:block;margin-top:6px;font-weight:400}.upload-selected-size{color:#0a7c9d!important}.upload-status{grid-column:1/-1;display:flex;align-items:center;gap:20px;padding:20px;border:1px solid #bce3f1;border-radius:16px;background:#ecfaff;animation:page-rise .25s}.upload-ring{--progress:0;position:relative;width:66px;height:66px;flex:none;border-radius:50%;background:conic-gradient(#0aa8cb calc(var(--progress)*1%),#cee6f0 0);display:grid;place-items:center;transition:background .2s}.upload-ring:before{content:'';position:absolute;inset:6px;background:#ecfaff;border-radius:50%}.upload-ring>span{position:relative;font-weight:800;font-size:15px;color:#0b7495}.upload-status.processing .upload-ring{animation:spin 1.2s linear infinite;background:conic-gradient(#0aa8cb 70%,#cee6f0 0)}.upload-status.processing .upload-ring>span{animation:spin 1.2s linear infinite reverse;font-size:0}.upload-status.processing .upload-ring>span:after{content:'·';font-size:24px}.upload-status.complete{border-color:#68cddd;background:#e5f9fc}.upload-status.complete .upload-ring{background:#078ca8;animation:success-pop .45s}.upload-status.complete .upload-ring:before{background:#078ca8}.upload-status.complete .upload-ring>span{color:white;font-size:25px}.upload-status.failed{border-color:#eea7b6;background:#fff3f6}.upload-status.failed .upload-ring{background:#c84866}.upload-status strong{display:block;font-size:14px}.upload-status p{margin:6px 0 0;font-size:12px}.upload-status .upload-meter{margin-top:10px;height:4px;background:#cce6f0;border-radius:6px;overflow:hidden}.upload-meter>span{display:block;height:100%;width:0;background:#06a7c9;transition:width .18s linear}.upload-limits{font-size:11px;line-height:1.6;margin:0}.upload-zone.busy{pointer-events:none;opacity:.55}@keyframes upload-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes success-pop{0%{transform:scale(.8)}65%{transform:scale(1.13)}100%{transform:scale(1)}}
/* Branded entry pages. */
.login-page{padding:24px;gap:24px}.login-story{background:radial-gradient(ellipse at 80% 15%,#075f874d,transparent 60%),linear-gradient(145deg,#081b40,#11365e)!important;border:1px solid #294664}.login-story:after{border-color:#2bc8ea16}.login-story h1 em{color:#5fe4f3}.login-story .brand{display:block}.login-story .logo-surface{width:218px;padding:13px 20px;border-radius:17px}.login-story p{color:#acc7df}.login-story footer{color:#8ca7c1}.login-feature{color:#addae9}.login-box .eyebrow{color:#0780a2}.login-box form{margin-top:28px}.login-box .btn.primary{min-height:48px}.password-wrap button{top:7px;right:8px;min-height:32px}.login-switch{border-color:#cfdfed}.back-home{display:inline-flex;gap:7px;align-items:center;color:#60819f;font-size:12px;margin-bottom:27px}.login-app-actions{display:flex;justify-content:center;margin-top:20px;gap:12px}.login-app-actions .btn{font-size:11px;background:transparent}.login-story .brand-mark{display:none}
/* A distinct role-selection homepage. */
.home-page{background:#081b40;color:#eaf6ff;min-height:100dvh;position:relative;overflow-x:hidden}.home-wrap{position:relative;z-index:1;max-width:1240px;margin:auto;padding:30px 42px 22px}.home-page:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#7bb7d509 1px,transparent 1px),linear-gradient(90deg,#7bb7d509 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,#0009,transparent)}.ambient-orb{position:absolute;pointer-events:none;filter:blur(20px);border-radius:50%;opacity:.5;animation:orb-drift 16s ease-in-out infinite alternate}.orb-one{top:-230px;right:0;width:700px;height:700px;background:radial-gradient(circle,#08759755,transparent 68%)}.orb-two{top:400px;left:-340px;width:680px;height:680px;background:radial-gradient(circle,#12479d55,transparent 66%);animation-delay:-7s}.home-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.home-logo{width:172px;padding:11px 16px;background:#f3fbff}.home-logo img{max-height:90px}.home-install{background:#ffffff09;color:#c5e3f3;border-color:#53789366;backdrop-filter:blur(10px)}.home-install:hover{background:#ffffff15}.home-main{padding-top:62px}.home-intro{text-align:center;position:relative}.portal-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid #37a8c34f;background:#143d5866;border-radius:30px;padding:8px 13px;font:700 10px Manrope;letter-spacing:2px;color:#91e2f1}.live-spark{height:6px;width:6px;border-radius:50%;background:#4ae1ed;box-shadow:0 0 13px #45e9f9;animation:spark-pulse 3s ease-in-out infinite}.home-intro h1{font-size:clamp(38px,5.1vw,63px);line-height:1.13;letter-spacing:-.05em;margin:22px 0 19px;color:#f6fbff}.home-intro h1 span{background:linear-gradient(105deg,#83e6f4,#31c8e6 75%);-webkit-background-clip:text;background-clip:text;color:transparent}.home-intro>p{color:#9fb9d2;font-size:15px;line-height:1.8;margin:0}.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px;margin:40px auto 0}.role-card{position:relative;display:block;overflow:hidden;border:1px solid #3861808c;border-radius:24px;padding:28px 30px 0;text-decoration:none;color:#ecf9ff;background:linear-gradient(135deg,#143857d9,#0d2845d9);backdrop-filter:blur(20px);box-shadow:0 12px 35px #0002;transition:transform .3s,box-shadow .3s,border-color .3s;animation:page-rise .6s both}.role-card:before{content:'';position:absolute;right:-70px;top:-100px;width:270px;height:270px;border-radius:50%;border:36px solid #22d3ee09;transition:transform .6s}.role-card:hover{transform:translateY(-7px);border-color:#63d5ec;box-shadow:0 22px 48px #020c2c66,0 0 0 1px #22d3ee16}.role-card:hover:before{transform:scale(1.2) rotate(25deg)}.role-card:focus-visible{outline:3px solid #71e4f2;outline-offset:5px}.admin-choice{background:linear-gradient(135deg,#183155ed,#111f3aed);border-color:#3b527e9c;animation-delay:.09s}.role-top{display:flex;align-items:center;gap:13px;position:relative}.role-icon{width:49px;height:49px;flex:none;display:grid;place-items:center;background:#0bb2d125;color:#54ddf2;border:1px solid #36c3db44;border-radius:15px}.role-icon svg{width:25px;height:25px}.admin-choice .role-icon{color:#a7c5ff;background:#5e8ed326;border-color:#8baff33b}.role-label{font-size:9px;letter-spacing:1.5px;font-weight:600;color:#7eaac4}.role-arrow{margin-left:auto;display:grid;place-items:center;border:1px solid #47738d6b;width:30px;height:30px;border-radius:50%;color:#9abed5}.role-copy{padding:31px 0 26px;position:relative}.role-number{font-size:9px;color:#7299b5;letter-spacing:2px;font-weight:700}.role-copy h2{font-size:30px;font-weight:800;color:#f2faff;margin:10px 0 12px}.role-copy p{color:#a1bed5;line-height:1.85;font-size:13px;max-width:330px;margin:0}.role-card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #42688266;padding:18px 0;color:#74e6f5;font-size:13px;font-weight:700}.admin-choice .role-card-bottom{color:#b8d3ff}.role-card-bottom .icon{transition:transform .2s}.role-card:hover .role-card-bottom .icon{transform:translateX(5px)}.home-benefits{display:flex;justify-content:center;gap:30px;color:#819fba;font-size:10px;margin:27px 0 36px}.home-benefits>span{display:flex;align-items:center;gap:7px}.home-benefits .icon{width:14px;height:14px;color:#50b9d1}.home-app-strip{max-width:920px;margin:0 auto;display:flex;align-items:center;gap:17px;border:1px solid #45658355;border-radius:16px;padding:19px 22px;background:#0e294444}.app-strip-icon{width:39px;height:45px;background:#204463;border:1px solid #48758d;border-radius:11px;display:grid;place-items:center;color:#7fe5f3}.home-app-strip>div{flex:1}.home-app-strip strong{font-size:12px;font-weight:600;color:#d4e7f4}.home-app-strip p{font-size:11px;color:#7e9db9;margin:5px 0 0}.home-app-strip .btn{background:#29455d77;border-color:#506f8666;color:#d8eff9;font-size:11px}.home-footer{display:flex;justify-content:space-between;border-top:1px solid #34516a66;padding-top:20px;margin-top:40px;color:#6888a7;font-size:10px}.offline-card{position:relative;max-width:510px;padding:40px 24px;margin:8vh auto;text-align:center}.offline-card .logo-surface{max-width:220px;margin:0 auto 30px}.offline-card .portal-chip{display:table;margin:0 auto 20px}.offline-card h1{font-size:36px}.offline-card p{color:#9fbad0}.offline-card .btn{margin:15px 4px 0}.offline-card .btn:not(.primary){background:#173553;color:#ceebf7;border-color:#46617f}@keyframes orb-drift{to{transform:translate(50px,35px)}}@keyframes spark-pulse{50%{opacity:.55;box-shadow:0 0 5px #45e9f9}}
/* App and sound preferences, available to both portals. */
.experience-overlay{position:fixed;inset:0;z-index:120;background:#041329b0;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;color:var(--ink)}.experience-panel{width:min(530px,100%);max-height:90dvh;overflow:auto;border-radius:24px;padding:28px;background:#f8fcff;border:1px solid #cce7f6;box-shadow:0 30px 100px #00133555;animation:page-rise .25s}.experience-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.experience-head h2{font-size:21px;margin:0}.experience-panel p{color:#647e97;font-size:12px}.experience-panel label{color:#264463}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid #e1ebf5}.preference-row>div{flex:1}.preference-row strong{font-size:13px}.preference-row p{font-size:11px;margin:5px 0 0}.preference-row input[type=checkbox]{flex:none}.tone-field{margin:18px 0}.tone-field .row select{flex:1;min-width:0}.volume-label{display:flex;justify-content:space-between}.install-steps{padding-left:22px;font-size:13px;color:#45637e;line-height:1.85}.install-steps li{padding-left:4px;margin:11px 0}.install-hero-icon{background:linear-gradient(130deg,#0caac8,#0e4073);width:63px;height:63px;border-radius:18px;display:grid;place-items:center;color:white;margin:0 auto 20px;box-shadow:0 9px 26px #0a8aaf28}.install-hero-icon .icon{width:29px;height:29px}.install-state{text-align:center}.install-state strong{display:block;font-size:18px}.experience-notice{position:fixed;right:22px;bottom:22px;z-index:150;border:1px solid #48bfd655;background:#102f53;color:#eefaff;border-radius:15px;padding:15px 20px;box-shadow:0 12px 40px #01132d40;max-width:360px;font-size:13px;animation:page-rise .3s}.experience-panel .error-text{color:#b63b55}.experience-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:23px}.update-button{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:80;background:#0d4567;color:white;border-color:#6fcdde}.update-button:hover{transform:translateX(-50%) translateY(-2px)}
@media(min-width:761px){.sidebar{width:250px}.workspace{margin-left:250px}.sidebar nav{flex:none}.sidebar-footer{margin-top:24px}.chat-layout{height:calc(100dvh - 220px)}}
@media(max-width:1100px) and (min-width:761px){.sidebar{width:220px;padding-left:13px;padding-right:13px}.workspace{margin-left:220px}.sidebar .logo-surface{padding:10px 14px}.role-cards{max-width:860px}}
@media(max-width:760px){body input,body select,body textarea{font-size:16px;min-height:46px}.btn{min-height:44px}.btn.small{min-height:38px}.sidebar{padding-bottom:calc(20px + env(safe-area-inset-bottom));height:100dvh}.sidebar .brand img{max-height:93px}.workspace{padding-left:15px;padding-right:15px;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.topbar{gap:8px;margin-bottom:23px;padding-top:env(safe-area-inset-top);height:calc(70px + env(safe-area-inset-top))}.topbar>div:first-child{flex:1;min-width:0}.topbar>div:first-child>span{font-size:11px}.topbar #breadcrumb{display:inline}.topbar .avatar{display:none}.topbar-right{gap:6px}.topbar .btn{min-width:36px;min-height:38px;padding:7px}.sound-toggle{width:36px}.page-heading{gap:12px}.page-heading .row .btn{white-space:normal;font-size:11px;min-width:88px;padding:10px}.page-heading .subtitle{font-size:12px;line-height:1.6}.page-heading h1{font-size:25px}.welcome{padding:25px 23px;border-radius:21px}.welcome h1{font-size:24px!important}.welcome p{font-size:12px}.stat-top{font-size:10px;gap:5px}.stat-top>.icon{padding:6px;width:15px;height:15px}.card.stat{padding:17px 14px}.stat .number{font-size:28px}.feed-entry.row{align-items:flex-start}.feed-entry.row>small{font-size:9px;max-width:82px;text-align:right}.modal-overlay{padding:12px}.modal{padding:21px 18px;border-radius:22px;max-height:calc(100dvh - 24px)}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}.toasts{right:12px;left:12px;bottom:calc(15px + env(safe-area-inset-bottom))}.toast{max-width:none;font-size:12px;padding:12px 16px}.chat-layout{height:calc(100dvh - 240px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:420px;border-radius:18px}.conversation-list{padding:7px;min-height:112px;max-height:112px;scroll-snap-type:x proximity}.conversation{width:235px;min-width:235px;scroll-snap-align:start}.conversation p{font-size:11px}.conversation small{font-size:9px}.chat-header{padding:13px}.chat-header .badge{font-size:9px}.chat-header .row{gap:8px}.chat-messages{padding:14px 10px}.bubble{padding:10px 12px;max-width:92%}.bubble p{font-size:13px}.bubble small{font-size:8px}.chat-compose{padding:10px;gap:8px}.chat-compose textarea{font-size:16px}.chat-compose .btn{min-width:46px}.login-page{padding:14px}.login-story{min-height:260px;padding:23px;border-radius:24px}.login-story .logo-surface{width:145px;padding:10px 14px;border-radius:13px}.login-story h1{font-size:31px;margin-top:30px}.login-form-side{padding:28px 15px}.back-home{margin-bottom:22px}.login-box h1{font-size:29px}.home-wrap{padding:21px 20px calc(21px + env(safe-area-inset-bottom))}.home-header{gap:12px}.home-logo{width:130px;padding:9px 13px;border-radius:14px}.home-header .btn{font-size:11px;padding:9px 12px;min-height:40px;gap:7px}.home-main{padding-top:43px}.home-intro h1{font-size:38px;margin-top:21px;margin-bottom:17px}.home-intro>p{font-size:12px}.portal-chip{font-size:8px;letter-spacing:1.5px;padding:7px 11px}.role-cards{grid-template-columns:1fr;margin-top:30px;gap:17px}.role-card{padding:23px 23px 0;border-radius:21px}.role-top{gap:12px}.role-icon{width:43px;height:43px;border-radius:13px}.role-label{font-size:8px;letter-spacing:1.2px}.role-copy{padding:23px 0 21px}.role-copy h2{font-size:26px}.role-copy p{font-size:12px;max-width:100%}.role-card-bottom{padding:16px 0;font-size:12px}.role-number{font-size:8px}.home-benefits{gap:13px;flex-wrap:wrap;font-size:9px;margin:23px 0 28px}.home-benefits>span:last-child{display:none}.home-app-strip{padding:17px;gap:13px;flex-wrap:wrap}.home-app-strip .btn{margin-left:52px;min-height:38px;font-size:11px}.home-app-strip>div{min-width:200px}.home-app-strip p{font-size:10px}.home-footer{font-size:9px;gap:12px;flex-wrap:wrap;margin-top:28px}.experience-overlay{padding:12px}.experience-panel{padding:23px 20px;border-radius:22px;max-height:calc(100dvh - 24px)}.experience-panel select{font-size:14px}.experience-notice{left:13px;right:13px;bottom:calc(15px + env(safe-area-inset-bottom));max-width:none}.upload-zone{padding:22px 16px}.upload-status{padding:17px;gap:15px}.upload-ring{width:57px;height:57px}.upload-status strong{font-size:13px}.experience-head h2{font-size:20px}}
@media(max-width:370px){.home-wrap{padding-left:15px;padding-right:15px}.home-intro h1{font-size:34px}.role-card{padding-left:20px;padding-right:20px}.home-app-strip>div{min-width:170px}.topbar>div:first-child>span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.role-card:hover,.stat:hover{transform:none}.ambient-orb{display:none}}
.bubble-row.mine{justify-content:flex-end}.bubble-row.mine .bubble{background:linear-gradient(115deg,#d8f7fb,#e0eeff);border-color:#c4e7f4;border-radius:13px 13px 3px 13px}.bubble-row:not(.mine) .bubble{border-radius:13px 13px 13px 3px}
@media print{.connection-banner,.experience-overlay,.experience-notice,.update-button,.home-install{display:none!important}.card{background:#fff}.workspace{margin:0}}

/* Keep temporary feedback clear of the mobile keyboard and message composer. */
.toasts,.experience-notice{pointer-events:none}
@media(max-width:760px){
 .toasts{top:calc(80px + env(safe-area-inset-top));bottom:auto}
 .experience-notice{top:calc(80px + env(safe-area-inset-top));bottom:auto}
 .home-main{padding-top:29px}
 .home-intro h1{font-size:34px;margin-top:18px;margin-bottom:15px}
 .role-cards{margin-top:24px;gap:15px}
 .role-card{padding-top:20px}
 .role-copy{padding:17px 0 18px}
 .role-copy h2{margin:0 0 10px}
 .role-number{display:none}
 .home-benefits{margin-top:21px}
}
body.capture-shield #app{filter:blur(18px);pointer-events:none}
