*{box-sizing:border-box}body{margin:0;background:var(--page-bg,#f4f7f6);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:#17221e}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px max(20px,calc((100% - 1120px)/2));background:#fff;border-bottom:1px solid #e3e9e6}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:38px;height:38px;object-fit:contain;border-radius:8px}.userline{font-size:13px;color:#52635b}.userline a{margin-left:12px;color:var(--primary);font-weight:700}.container{max-width:1120px;margin:26px auto;padding:0 18px}.footer{padding:25px;text-align:center;color:#66756d;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.card{background:#fff;border:1px solid #e2e9e5;border-radius:14px;padding:18px;box-shadow:0 4px 16px #163c2b08}.card h2,.card h3{margin-top:0}.stat{font-size:28px;font-weight:800;color:var(--primary)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.btn,button{display:inline-block;border:0;border-radius:9px;padding:10px 14px;background:var(--primary);color:white;font-weight:700;text-decoration:none;cursor:pointer;font-size:14px}.btn.secondary{background:#e9f0ec;color:#203b30}.btn.danger{background:#a72c2c}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}label{font-size:13px;font-weight:700;color:#34463c}input,select,textarea{font:inherit;border:1px solid #cbd8d0;border-radius:8px;padding:10px;background:white;width:100%;min-width:0}textarea{min-height:110px;resize:vertical}.table-wrap{overflow:auto;background:white;border:1px solid #e2e9e5;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:11px 13px;border-bottom:1px solid #edf1ee;text-align:left;font-size:13px}th{background:#f5f8f6}.notice{padding:12px 15px;border-radius:9px;background:#e5f5e9;color:#205d35;margin-bottom:16px}.notice.error{background:#fde9e9;color:#8a2222}.muted{color:#6a7a71;font-size:13px}.pill{display:inline-block;padding:3px 8px;border-radius:99px;background:#e9f0ec;font-size:12px}.login{max-width:460px;margin:8vh auto}.login h1{font-size:26px}.inline{display:inline}.warning{background:#fff4d8;padding:12px;border-radius:8px;color:#6c4d00}.linklist{display:flex;gap:8px;flex-wrap:wrap}.linklist a{padding:7px 10px;background:#e9f0ec;border-radius:7px;color:#243e31;text-decoration:none}@media(max-width:600px){.topbar{align-items:flex-start;flex-direction:column}.container{margin:18px auto}.userline{width:100%}}
.main-nav{display:flex;flex-wrap:wrap;gap:12px 22px;padding:10px max(20px,calc((100% - 1120px)/2));background:#f9fbfa;border-bottom:1px solid #e3e9e6}.nav-group{display:flex;align-items:center;gap:8px;min-width:0}.nav-label{color:#718078;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.nav-links{display:flex;flex-wrap:wrap;gap:4px}.nav-links a{padding:6px 9px;border-radius:8px;color:#294238;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}.nav-links a:hover,.nav-links a.active{background:#e2f0e8;color:var(--primary)}.module-card{display:flex;flex-direction:column;gap:10px}.module-card .actions{margin:2px 0 0}.status-ready{background:#e5f5e9;color:#205d35}.status-pending{background:#fff4d8;color:#6c4d00}@media(max-width:760px){.main-nav{align-items:flex-start;flex-direction:column;gap:10px}.nav-group{align-items:flex-start;flex-direction:column;gap:3px}.nav-links{gap:2px}}

/* Polished responsive workspace navigation */
body.app-shell{min-height:100vh;background:var(--page-bg,#f4f7f6);color:#172536;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell .topbar{height:76px;position:sticky;top:0;z-index:30;padding:0 30px;background:#fff;border-bottom:1px solid #e7edf2;box-shadow:0 4px 18px #10253b08}.app-shell .brand{color:#13243a;text-decoration:none}.app-shell .brand-logo{width:44px;height:44px;border-radius:13px}.app-shell .brand strong{display:block;font-size:16px;letter-spacing:-.025em}.app-shell .brand small,.user-chip small{display:block;margin-top:2px;color:#8292a2;font-size:11px;font-weight:500}.topbar-right{display:flex;align-items:center;gap:22px}.user-chip{display:flex;align-items:center;gap:10px;color:#27394b;font-size:12px;font-weight:700}.user-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#e7f7f2;color:#11866a;font-size:14px;font-weight:800}.logout-link{padding:9px 13px;border-radius:10px;background:#f3f6f8;color:#526477;text-decoration:none;font-size:12px;font-weight:750}.logout-link:hover{background:#e8eef2;color:#13243a}.sidebar-toggle{display:none;border:0;background:#eef4f4;color:#203e4d;border-radius:10px;width:42px;height:42px;font-size:19px}.app-frame{display:flex;min-height:calc(100vh - 120px)}.sidebar{position:fixed;z-index:35;left:0;top:76px;bottom:0;display:flex;flex-direction:column;width:254px;padding:24px 15px 18px;background:linear-gradient(180deg,#0d2035,#102a3d);box-shadow:8px 0 30px #10253b0a}.sidebar-caption{padding:0 12px 14px;color:#7d9aab;font-size:10px;font-weight:800;letter-spacing:.15em}.app-shell .main-nav{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:0;background:transparent;border:0}.app-shell .nav-group{display:block}.app-shell .nav-label{display:block;padding:0 12px 7px;color:#7d9aab;font-size:10px;letter-spacing:.13em}.app-shell .nav-links{display:grid;gap:3px}.app-shell .nav-links a{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:#c3d1dc;font-size:13px;font-weight:600;transition:background .18s ease,color .18s ease,transform .18s ease}.app-shell .nav-links a:hover{background:#ffffff0d;color:#fff;transform:translateX(2px)}.app-shell .nav-links a.active{background:linear-gradient(90deg,#15a77c2e,#25a7c219);border-color:#58dbb229;color:#70e3bd}.nav-dot{width:8px;height:8px;flex:none;border:2px solid currentColor;border-radius:3px;opacity:.72}.app-shell .nav-links a.active .nav-dot{background:#5fe0b7;border-color:#5fe0b7;box-shadow:0 0 12px #5fe0b788}.sidebar-note{display:flex;align-items:center;gap:9px;margin-top:auto;padding:13px 12px;border-top:1px solid #ffffff17;color:#a8bbc8;font-size:11px}.online-dot{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:#42d6a3;box-shadow:0 0 11px #42d6a366}.app-shell .container{width:calc(100% - 254px);max-width:none;min-height:calc(100vh - 120px);margin:0 0 0 254px;padding:34px clamp(22px,4vw,58px) 50px}.app-shell .container>h1{margin:0 0 8px;color:#14283d;font-size:clamp(25px,2.4vw,34px);letter-spacing:-.04em}.app-shell .container>h2{margin-top:30px;color:#1b3347;font-size:20px;letter-spacing:-.02em}.app-shell .card,.app-shell .table-wrap{border-color:#e2eaf0;border-radius:15px;box-shadow:0 8px 28px #163b5708}.app-shell .card{padding:21px}.app-shell .card h2,.app-shell .card h3{color:#1c3348;letter-spacing:-.02em}.app-shell input,.app-shell select,.app-shell textarea{border-color:#d5e0e7;border-radius:10px;padding:11px 12px;transition:border-color .15s,box-shadow .15s}.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus{outline:0;border-color:#21a984;box-shadow:0 0 0 3px #21a98420}.app-shell button,.app-shell .btn{border-radius:10px;transition:filter .15s,transform .15s}.app-shell button:hover,.app-shell .btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.app-shell .footer{margin-left:254px;padding:18px;color:#8292a2}.sidebar-scrim{display:none}

/* Branded access screen with lightweight CSS 3D motion (no external assets/services) */
.login-body{position:relative;min-height:100vh;overflow-x:hidden;background:radial-gradient(ellipse at 25% 40%,#143b4f 0,#0b2136 35%,#071522 78%);color:#f5fbff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.login-scene{position:fixed;inset:0;overflow:hidden;pointer-events:none;perspective:1000px}.scene-grid{position:absolute;inset:38% -10% -44%;opacity:.22;transform:rotateX(61deg) rotateZ(-8deg);background-image:linear-gradient(#55dbbb28 1px,transparent 1px),linear-gradient(90deg,#55dbbb28 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(transparent,#000 25%,#000 72%,transparent)}.scene-orb{position:absolute;display:block;border:1px solid #9af6df52;border-radius:50%;filter:drop-shadow(0 0 22px #40e4b250);transform-style:preserve-3d}.scene-orb:after,.scene-orb:before{position:absolute;inset:13%;border:1px solid #5cb9ff39;border-radius:50%;content:"";transform:rotateX(68deg) rotateY(32deg)}.scene-orb:before{inset:-13%;transform:rotateY(66deg) rotateX(24deg)}.orb-one{width:410px;height:410px;left:5%;top:24%;animation:float3d 12s ease-in-out infinite}.orb-two{width:260px;height:260px;left:40%;top:7%;opacity:.45;animation:float3d 15s ease-in-out -4s infinite reverse}.orb-three{width:170px;height:170px;right:8%;bottom:12%;opacity:.38;animation:float3d 11s ease-in-out -2s infinite}.social-float{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:1px solid #9ce9e150;border-radius:17px;background:linear-gradient(145deg,#21485a99,#132a4088);box-shadow:0 18px 42px #020a14aa,inset 1px 1px #ffffff28;color:#9bf4df;font-size:21px;font-weight:800;backdrop-filter:blur(8px);transform:rotateY(-18deg) rotateX(12deg);animation:float3d 7s ease-in-out infinite}.float-wa{left:18%;top:23%}.float-meta{left:43%;top:76%;animation-delay:-2s;color:#89baff}.float-ig{right:15%;top:29%;animation-delay:-3s;color:#e1a4ff}.float-flow{right:30%;bottom:15%;animation-delay:-1s}.login-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:center;gap:clamp(36px,8vw,130px);width:min(1190px,calc(100% - 56px));min-height:calc(100vh - 58px);margin:auto;padding:46px 0}.login-story{display:flex;flex-direction:column;align-self:stretch;justify-content:space-between;padding:4px 0}.login-brand{display:inline-flex;align-items:center;gap:13px;width:max-content;color:#f4fbff;text-decoration:none}.login-brand img{width:58px;height:58px;filter:drop-shadow(0 9px 22px #37d5ae32)}.login-brand strong{display:block;font-size:17px;letter-spacing:-.03em}.login-brand small{display:block;margin-top:4px;color:#9bb2c2;font-size:11px;letter-spacing:.06em}.story-copy{max-width:570px;margin:42px 0}.eyebrow{color:#5cddba;font-size:10px;font-weight:850;letter-spacing:.17em}.story-copy h1{margin:18px 0;color:#f4fbff;font-size:clamp(40px,5.3vw,68px);line-height:1.06;letter-spacing:-.06em}.story-copy h1 span{color:#62dfbd}.story-copy p{max-width:440px;color:#a7bdcb;font-size:16px;line-height:1.75}.story-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.story-tags span{padding:8px 12px;border:1px solid #9bd9d12b;border-radius:999px;background:#ffffff08;color:#c5d7e1;font-size:11px;font-weight:650;backdrop-filter:blur(8px)}.story-bottom{display:flex;align-items:center;gap:10px;color:#9ab1bf;font-size:12px}.login-card-wrap{width:100%;max-width:440px;justify-self:end}.login-card{padding:35px;border:1px solid #e3edf0;border-radius:22px;background:linear-gradient(150deg,#fff,#f8fbfc);box-shadow:0 30px 100px #020a1499;color:#1b2d40}.login-card-heading{display:flex;align-items:center;gap:15px}.login-card-icon{display:grid;place-items:center;width:55px;height:55px;flex:none;border:1px solid #d8f4e9;border-radius:17px;background:#edfbf5}.login-card-icon img{width:45px;height:45px}.login-card .eyebrow{font-size:9px}.login-card h2{margin:4px 0 0;color:#142a3e;font-size:23px;letter-spacing:-.04em}.login-intro{margin:21px 0 23px;color:#718194;font-size:13px}.login-form .field{gap:8px;margin-bottom:18px}.login-form label{color:#31465a;font-size:12px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label-row a{color:#168a70;font-size:11px;font-weight:750;text-decoration:none}.field-label-row a:hover{text-decoration:underline}.login-form input{height:48px;border:1px solid #dce5ea;border-radius:11px;background:#fbfdfe;color:#1d3246;font-size:13px}.login-form input::placeholder{color:#a4b0bc}.login-form input:focus{outline:0;border-color:#2eb893;box-shadow:0 0 0 4px #2eb89319}.login-submit{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:49px;margin-top:8px;border:0;border-radius:11px;background:linear-gradient(100deg,#119b78,#20bd91);box-shadow:0 9px 20px #119b7830;color:#fff!important;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.login-submit span{font-size:18px;line-height:1}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:21px;color:#8292a1;font-size:10px}.security-lock{color:#159875}.login-card .notice{margin:0 0 15px;font-size:12px}.login-card-caption{margin-top:13px;color:#9bb0be;text-align:center;font-size:10px}.login-footnote{position:relative;z-index:1;padding:18px;color:#8099a9;text-align:center;font-size:10px}.login-footnote span{padding:0 5px;color:#43d2a8}@keyframes float3d{0%,100%{transform:translate3d(0,0,0) rotateY(-18deg) rotateX(12deg)}50%{transform:translate3d(0,-20px,18px) rotateY(18deg) rotateX(-10deg)}}
@media(max-width:960px){.login-layout{grid-template-columns:1fr minmax(350px,.86fr);gap:40px}.story-copy h1{font-size:48px}.orb-one{left:-12%}.login-card{padding:29px}}
@media(max-width:760px){.app-shell .topbar{height:66px;gap:12px;padding:0 15px}.sidebar-toggle{display:block;flex:none}.app-shell .brand{margin-right:auto}.app-shell .brand-logo{width:39px;height:39px}.app-shell .brand small{display:none}.user-chip>span:last-child{display:none}.topbar-right{gap:10px}.logout-link{padding:9px 10px}.sidebar{top:66px;width:min(285px,84vw);transform:translateX(-105%);transition:transform .22s ease}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-scrim{position:fixed;z-index:34;inset:66px 0 0;border:0;background:#06111c99;opacity:0;pointer-events:none;transition:opacity .22s}.sidebar-open .sidebar-scrim{display:block;opacity:1;pointer-events:auto}.app-shell .container{width:100%;min-height:calc(100vh - 110px);margin:0;padding:25px 17px 38px}.app-shell .footer{margin:0}.login-layout{display:flex;flex-direction:column;align-items:stretch;gap:15px;width:min(510px,calc(100% - 30px));min-height:calc(100vh - 54px);padding:25px 0}.login-story{display:contents}.login-brand{order:0}.story-copy{order:1;margin:18px 0 4px}.story-copy h1{margin:10px 0;font-size:35px}.story-copy p{font-size:13px;line-height:1.6}.story-tags{margin-top:14px}.story-bottom{display:none}.login-card-wrap{order:2;max-width:none;margin-top:10px}.login-card{padding:24px;border-radius:18px}.login-card-heading{gap:12px}.login-card-icon{width:48px;height:48px}.login-card-icon img{width:40px;height:40px}.login-card h2{font-size:20px}.login-intro{margin:16px 0}.scene-grid{inset:52% -20% -24%}.orb-one{width:260px;height:260px;left:-24%;top:28%}.orb-two{width:170px;height:170px;left:auto;right:-15%;top:20%}.orb-three{width:125px;height:125px;right:-6%;bottom:12%}.social-float{width:40px;height:40px;border-radius:13px;font-size:16px}.float-wa{left:6%;top:25%}.float-meta{left:auto;right:11%;top:57%}.float-ig{right:7%;top:31%}.float-flow{right:29%;bottom:8%}.login-footnote{padding:13px}}
@media(max-width:380px){.app-shell .brand strong{font-size:14px}.topbar-right{gap:7px}.logout-link{font-size:11px}.story-copy h1{font-size:31px}.login-card{padding:20px}.login-card h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Floating WhatsApp-like conversation cards, kept behind the login content */
.chat-float{position:absolute;z-index:2;width:164px;padding:9px;border:1px solid #b4f5de36;border-radius:15px;background:linear-gradient(145deg,#17364be0,#0c2436e8);box-shadow:0 18px 44px #02081277,inset 0 1px #ffffff18;backdrop-filter:blur(12px);opacity:.58;transform-style:preserve-3d;animation:chatDrift 11s ease-in-out infinite;will-change:transform}.chat-panel-left{left:0;top:51%;transform:rotateY(18deg) rotateX(5deg) rotateZ(-2deg)}.chat-panel-right{right:0;top:40%;transform:rotateY(-18deg) rotateX(5deg) rotateZ(2deg);animation-delay:-3.5s}.chat-panel-right-low{right:0;top:65%;transform:rotateY(-15deg) rotateX(-4deg) rotateZ(-1deg);animation-delay:-7s}.chat-top{display:flex;align-items:center;gap:7px;padding:0 1px 8px;border-bottom:1px solid #ffffff17;color:#f1fafc}.chat-avatar{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(140deg,#26d7a2,#118a76);color:#fff;font-size:10px;font-weight:850}.chat-top b,.chat-top small{display:block;white-space:nowrap}.chat-top b{font-size:9px}.chat-top small{margin-top:2px;color:#81d9bc;font-size:7px}.chat-top>i{margin-left:auto;color:#a5bdc8;font-size:9px;font-style:normal;letter-spacing:1px}.chat-messages{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-top:8px}.chat-bubble{max-width:94%;padding:6px 8px;border-radius:8px;color:#edf8f6;font-size:8px;line-height:1.3;box-shadow:0 3px 8px #0002}.chat-bubble.incoming{border-top-left-radius:3px;background:#294b59}.chat-bubble.outgoing{align-self:flex-end;border-top-right-radius:3px;background:#126d60}.chat-typing{display:flex;gap:3px;align-items:center;height:11px;padding:0 6px}.chat-typing i{width:3px;height:3px;border-radius:50%;background:#68e3ba;animation:typingPulse 1.15s ease-in-out infinite}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes chatDrift{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -13px;rotate:1deg}}@keyframes typingPulse{0%,60%,100%{opacity:.35;scale:.8}30%{opacity:1;scale:1.35}}
@media(max-width:1050px){.chat-float{opacity:.25}.chat-panel-left{left:0;top:55%;scale:.72}.chat-panel-right{right:0;top:34%;scale:.72}.chat-panel-right-low{display:none}}
@media(max-width:760px){.chat-float{opacity:.17;scale:.72}.chat-panel-left{left:-47px;top:53%}.chat-panel-right{right:-49px;top:39%}}
@media(max-width:460px){.chat-float{opacity:.12;scale:.62}.chat-panel-left{left:-64px;top:56%}.chat-panel-right{right:-66px;top:42%}}

.login-scene>.chat-float{display:none}.chat-floats{position:fixed;z-index:2;inset:0;overflow:hidden;pointer-events:none;perspective:1000px}.chat-floats .chat-float{position:absolute}
