:root{--navy-950:#070b16;--navy-900:#0d1220;--navy-800:#151d2e;--glass:#ffffff1a;--glass-strong:#ffffff29;--border:#ffffff2b;--text:#fff;--muted:#b7c0ce;--blue:#008bd2;--green:#20b261;--orange:#f29b20;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--navy-950);min-width:320px;margin:0 0 0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.portalShell{grid-template-rows:64px minmax(420px,1fr) auto auto;min-height:100vh;display:grid;position:relative;overflow:hidden}.backgroundImage{filter:blur(4px);z-index:-3;background-color:#0000;background-image:linear-gradient(#090d1924,#090d1947),url(/bg.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:-8px;transform:scale(1.02)}.screenOverlay{z-index:-2;background:linear-gradient(#101622ad 0%,#1016228f 48%,#090d19db 100%),radial-gradient(circle at 74% 42%,#008bd224,#0000 32%),radial-gradient(circle at 52% 78%,#f29b201f,#0000 28%);position:fixed;inset:0}.portalHeader,.portalFooter{justify-content:space-between;align-items:center;padding-left:clamp(.85rem,5vw,8.6rem);padding-right:clamp(.85rem,5vw,8.6rem);display:flex}.portalHeader{z-index:20;background:#151d2ef7;height:64px;box-shadow:0 10px 30px #05081038}.portalFooter{z-index:2;background:#080c19f2;border-top:1px solid #ffffff08;justify-content:center;padding-top:1rem;padding-bottom:1rem}.portalLogo{align-items:center;gap:.28rem;min-width:0;display:inline-flex}.portalLogoImage{object-fit:contain;flex:none;width:60px;height:44px;display:block}.portalLogo.small .portalLogoImage{width:34px;height:34px}.portalLogo span:last-child{gap:.08rem;display:grid}.portalLogo strong{letter-spacing:0;font-size:.78rem;font-weight:900;line-height:1}.portalLogo small{color:#d9deeb;letter-spacing:0;font-size:.56rem;font-weight:750;line-height:1.15}.portalLogo.small strong{font-size:.9rem}.portalLogo.small small{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.68rem;font-weight:500}.bpsMark{flex:none;grid-template-columns:repeat(2,17px);place-items:center;gap:3px;width:42px;height:41px;display:inline-grid;position:relative;transform:rotate(-8deg)}.bpsMark:before{content:"";border:2px solid #ffffff2e;border-radius:13px;position:absolute;inset:-6px}.bpsMark.compact{grid-template-columns:repeat(2,13px);gap:2px;width:32px;height:31px}.bpsMark.compact:before{border-radius:9px;inset:-5px}.markTile{border-radius:4px;width:16px;height:16px;display:block}.bpsMark.compact .markTile{border-radius:3px;width:12px;height:12px}.markTile.blue{background:var(--blue)}.markTile.green{background:var(--green)}.markTile.orange{background:var(--orange)}.markTile.tall{height:25px;transform:translateY(5px)}.markTile.small{opacity:.85}.loginButton{color:#f6f8fb;background:#ffffff14;border:1px solid #fff3;border-radius:9px;justify-content:center;align-items:center;gap:.5rem;min-height:38px;padding:.58rem 1.15rem;font-size:.86rem;font-weight:800;transition:background .17s,border-color .17s,transform .17s;display:inline-flex}.loginButton:hover{background:#ffffff24;border-color:#ffffff59;transform:translateY(-1px)}.headerRight{align-items:center;gap:1rem;display:flex}.headerDateBox{text-align:right;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.headerDay{color:#ffffff73;letter-spacing:.3px;text-transform:capitalize;font-size:.68rem;font-weight:500}.headerDate{color:#ffffffc7;font-size:.75rem;font-weight:600}.pubLayananSection{background:#0a0e1cd1;border-top:1px solid #ffffff12;padding:2rem clamp(.85rem,5vw,8.6rem) 2.5rem}.pubLayananHeader{justify-content:space-between;align-items:flex-start;margin-bottom:.85rem;display:flex}.pubLayananTitle{color:#f0f4fa;margin:0;font-size:1.25rem;font-weight:700}.pubLayananMeta{align-items:center;gap:.85rem;display:flex}.pubLayananCount{color:#fff6;white-space:nowrap;font-size:.78rem}.pubLayananSearch{color:#ffffff73;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .85rem;transition:border-color .2s;display:flex}.pubLayananSearch:focus-within{color:orange;border-color:#ffa50073}.pubLayananSearch input{color:#fff;background:0 0;border:0;outline:0;width:170px;font-size:.78rem}.pubLayananSearch input::placeholder{color:#ffffff59}.pubLayananDivider{border-top:1px solid #ffffff17;margin-bottom:.2rem}.pubLayananGrid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.pubLayananItem{color:inherit;border-bottom:1px solid #ffffff0d;grid-template-columns:28px 34px 1fr 18px;align-items:flex-start;gap:.65rem;padding:1rem .75rem;text-decoration:none;transition:background .18s;display:grid}.pubLayananItem:hover{background:#ffffff0a}.pubLayananNum{color:#ffffff4d;padding-top:2px;font-size:.75rem;font-weight:600}.pubLayananIcon{justify-content:center;align-items:center;display:flex}.pubLayananInfo{flex-direction:column;gap:.25rem;min-width:0;display:flex}.pubLayananName{color:#e8edf5;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;display:flex}.pubLayananBadge{color:#ffffff8c;background:#ffffff1a;border:1px solid #ffffff26;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:500}.pubLayananDesc{color:#ffffff6b;font-size:.76rem;line-height:1.4}.pubLayananArrow{color:#ffffff40;flex-shrink:0;margin-top:2px;transition:color .18s,transform .18s}.pubLayananItem:hover .pubLayananArrow{color:orange;transform:translate(2px,-2px)}.pubLayananEmpty{color:#ffffff4d;text-align:center;grid-column:1/-1;padding:1.5rem 0;font-size:.85rem}.heroSection{text-align:center;z-index:1;flex-direction:column;justify-content:flex-start;align-items:center;padding:clamp(.5rem,2vw,1.5rem) clamp(1rem,9.5vw,8.6rem) clamp(2rem,5vw,4rem);display:flex}.heroSection h1{color:#fff;letter-spacing:0;text-shadow:0 18px 42px #0000003d;order:1;margin:5rem 0 0;font-size:clamp(4.1rem,9vw,6.2rem);font-weight:950;line-height:.9}.heroSection p{color:var(--muted);order:2;margin:3rem 0 0;font-size:clamp(.93rem,1.45vw,1.06rem);line-height:1.45}.searchBox{color:#aeb9ca;background:#ffffff1c;border:1px solid #fff3;border-radius:999px;order:3;align-items:center;gap:.7rem;width:min(100%,460px);max-width:460px;height:43px;margin-top:1.3rem;margin-bottom:2.2rem;padding:0 1.15rem;display:flex}.searchBox:focus-within{background:#ffffff26;border-color:#ffffff57}.searchBox input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0}.searchBox input::placeholder{color:#abb6c8}.layananContainer{text-align:left;flex-direction:column;order:4;width:100%;max-width:1085px;margin-top:.5rem;display:flex}.layananHeaderRow{justify-content:space-between;align-items:flex-end;width:100%;margin-bottom:.85rem;display:flex}.layananMainTitle{color:#fff;letter-spacing:.2px;text-shadow:0 2px 10px #0006;margin:0;font-family:Georgia,Cambria,Times New Roman,Times,serif;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:700;line-height:1.1}.layananCountText{color:#ffffff73;white-space:nowrap;padding-bottom:3px;font-size:.82rem;font-weight:400}.layananDividerLine{border-top:1px solid #ffffff1f;width:100%;margin-bottom:.2rem}.appGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;margin-top:0;display:grid}.appCard{color:inherit;text-align:left;border-bottom:1px solid #ffffff14;grid-template-columns:26px 44px 1fr 18px;align-items:flex-start;gap:.75rem;padding:1.1rem .65rem;text-decoration:none;transition:background .15s;display:grid}.appCard:hover{background:#ffffff09}.appCardNum{color:#fff6;padding-top:10px;font-size:.82rem;font-weight:600}.appCardIconWrap{justify-content:center;align-items:center;display:flex}.appCardIconWrap .appIcon{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:flex}.appCardNameRow{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.appCardTitle{color:#fff;letter-spacing:.2px;font-size:.95rem;font-weight:700}.appCardBadge{color:#60a5fa;letter-spacing:.3px;background:#0f2c4c;border:1px solid #60a5fa59;border-radius:4px;padding:1px 6px;font-size:.66rem;font-weight:500}.appCardDesc{color:#ffffff85;margin-top:3px;font-size:.78rem;line-height:1.35;display:block}.appCardArrow{color:#ffffff47;flex-shrink:0;margin-top:8px;transition:color .15s,transform .15s}.appCard:hover .appCardArrow{color:orange;transform:translate(2px,-2px)}.appIcon{color:var(--green);background:#ffffff14;border:1px solid #ffffff21;border-radius:12px;flex:none;justify-content:center;align-items:center;width:39px;height:39px;display:inline-flex}.appIcon.blue{color:#0d74c5;background:#eaf4ff;border-color:#c7e2fa}.appIcon.green{color:#159a54;background:#ecfdf5;border-color:#bbf7d0}.appIcon.orange{color:#e28512;background:#fff7ed;border-color:#fed7aa}.appIcon.slate{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.appIcon img{object-fit:cover;border-radius:9px;width:100%;height:100%}.appCopy{gap:.28rem;min-width:0;display:grid}.appCopy strong{color:#e8edf5;font-size:.87rem;font-weight:650}.appCopy small{color:#fff6;font-size:.76rem;line-height:1.35}.copyright{color:#8793aa;align-items:center;gap:.35rem;margin:0;font-size:.76rem;display:inline-flex}.modalLayer{z-index:30;background:#04070ed9;justify-content:center;align-items:center;padding:1.5rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.loginModalCenter{flex-shrink:0;position:relative}.loginContainer{pointer-events:none;z-index:20;width:440px;height:440px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loginCircle{width:100%;height:100%;animation:20s linear infinite loginRotate;position:absolute;top:0;left:0}@keyframes loginRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loginBar{transform-origin:50% 220px;background:#4a5f7f;border-radius:4px;width:8px;height:35px;transition:background .3s;display:block;position:absolute;top:0;left:50%}.loginBar.active{background:linear-gradient(orange,#ff8c00);box-shadow:0 0 20px #ffa500cc}.loginBox{z-index:10;background:#1e2a3af2;border-radius:20px;width:min(420px,100vw - 2rem);padding:40px;position:relative;box-shadow:0 20px 60px #00000080}@media (width<=600px){.modalLayer{padding:1rem .75rem}.loginContainer{width:380px;height:380px}.loginBox{border-radius:16px;width:calc(100vw - 1.5rem);padding:1.1rem 1rem .9rem}.loginLogo{margin-bottom:.25rem}.loginLogoImg{width:38px;height:38px}.loginTitle{letter-spacing:1.5px;margin-bottom:.1rem;font-size:1.3rem}.loginSubtitle{margin-bottom:.65rem;font-size:.7rem}.loginForm2{gap:.75rem}.loginInputGroup input{padding:10px 36px 10px 13px;font-size:.85rem}.loginSubmitBtn{min-height:42px;margin-top:.2rem;font-size:.88rem}.loginError{margin-bottom:.5rem;font-size:.78rem}.loginFooter{margin-top:.5rem;font-size:.63rem}.closeButton{width:26px;height:26px;top:.6rem;right:.6rem}}.loginLogo{justify-content:center;margin-bottom:.6rem;display:flex}.loginLogoImg{object-fit:contain;width:54px;height:54px}.loginTitle{color:orange;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0 0 .25rem;font-size:2rem;font-weight:600}.loginSubtitle{color:#ffffff80;text-align:center;margin:0 0 1.9rem;font-size:.78rem}.loginForm2{gap:1.5rem;display:grid}.loginFieldGroup{flex-direction:column;gap:.4rem;display:flex}.loginLabel{color:#ffffffbf;letter-spacing:.5px;text-transform:uppercase;padding-left:4px;font-size:.78rem;font-weight:500}.loginInputGroup{position:relative}.loginInputGroup input{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:25px;outline:none;width:100%;padding:12px 40px 12px 15px;font-size:.9rem;transition:border-color .3s,box-shadow .3s}.loginInputGroup input::placeholder{color:#ffffff80}.loginInputGroup input:focus{border-color:orange;box-shadow:0 0 15px #ffa5004d}.loginInputIcon{color:#ffffff80;background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:100%;font-size:1rem;display:inline-flex;position:absolute;top:0;right:15px}.loginTogglePass{cursor:pointer}.loginTogglePass:hover{color:orange}.loginForgot{text-align:right;margin-top:-1rem;margin-bottom:1.5rem}.loginForgot a{color:#fff9;font-size:.75rem;text-decoration:none;transition:color .3s}.loginForgot a:hover{color:orange}.loginSubmitBtn{color:#fff;cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:linear-gradient(90deg,orange,#ff8c00);border:none;border-radius:25px;width:100%;min-height:48px;margin-top:.4rem;font-size:1rem;font-weight:600;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.loginSubmitBtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #ffa50080}.loginSubmitBtn:disabled{cursor:not-allowed;opacity:.65}.loginSubmitBtn:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loginSubmitBtn:active:before{width:300px;height:300px}.loginSocial{text-align:center;margin-top:1.5rem}.loginSocial p{color:#fff9;margin-bottom:.9rem;font-size:.8rem}.loginSocialIcons{justify-content:center;gap:.9rem;display:flex}.loginSocialIcon{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;transition:transform .3s,box-shadow .3s;display:inline-flex}.loginSocialIcon.facebook{background:#3b5998}.loginSocialIcon.twitter{background:#000}.loginSocialIcon.google{background:#db4437}.loginSocialIcon:hover{transform:translateY(-5px)scale(1.1);box-shadow:0 10px 20px #0000004d}.loginSignup{text-align:center;margin-top:1.5rem}.loginSignup a{color:orange;font-size:.88rem;font-weight:700;text-decoration:none;transition:color .3s}.loginSignup a:hover{color:#ff8c00;text-decoration:underline}.loginFooter{color:#ffffff59;text-align:center;margin:1rem 0 0;font-size:.72rem}.closeButton{color:#d8dfec;background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute;top:.9rem;right:.9rem}.closeButton:hover{background:#ffffff29}.loginForm label{color:#e7ebf3;gap:.45rem;font-size:.82rem;font-weight:750;display:grid}.loginForm label div{color:#aeb9ca;background:#ffffff14;border:1px solid #ffffff24;border-radius:11px;align-items:center;gap:.7rem;min-height:46px;padding:0 .85rem;display:flex}.loginForm label div:focus-within{background:#ffffff1f;border-color:#ffffff47}.loginForm input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0}.loginForm input::placeholder{color:#8793aa}.submitButton{background:linear-gradient(135deg, var(--blue), #0d74c5);color:#fff;border:0;border-radius:11px;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:46px;margin-top:.25rem;font-weight:850;transition:filter .17s,opacity .17s;display:inline-flex}.submitButton:disabled{opacity:.65;cursor:not-allowed}.submitButton:hover:not(:disabled){filter:brightness(1.08)}.loginError{color:#fca5a5;background:#dc26261f;border:1px solid #dc262659;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.7rem .9rem;font-size:.86rem;font-weight:700;display:flex}.togglePassBtn{color:#aeb9ca;cursor:pointer;background:0 0;border:0;flex:none;padding:0 .2rem;font-size:1rem;line-height:1}.togglePassBtn:hover{color:#fff}.workPortal{color:#172033;background:#f0f4f9;grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid;position:relative}.workSidebar{color:#fff;background:linear-gradient(#0f1824 0%,#070c17 100%);border-right:1px solid #ffffff0f;grid-template-rows:auto 1fr auto;gap:0;min-height:100vh;padding:0;display:grid;box-shadow:4px 0 24px #0000004d}.workSidebar .portalLogo{border-bottom:1px solid #ffffff12;padding:1.1rem 1.1rem 1rem}.workNav{align-content:start;gap:.2rem;padding:1rem .75rem;display:grid}.workNav:before{content:"MENU";color:#ffffff40;letter-spacing:1.5px;padding:0 .5rem .6rem;font-size:.65rem;font-weight:800;display:block}.workNavButton{color:#94a3b8;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;width:100%;min-height:42px;padding:.6rem .85rem;font-size:.875rem;font-weight:650;transition:all .16s;display:inline-flex}.workNavButton svg{opacity:.7;flex:none;transition:opacity .16s}.workNavButton:hover{color:#e2e8f0;background:#ffffff12}.workNavButton:hover svg{opacity:1}.workNavButton.active{color:orange;background:linear-gradient(135deg,#ffa5002e,#ff8c001a);border-color:#ffa50040;font-weight:800}.workNavButton.active svg{opacity:1;color:orange}.logoutButton{color:#fca5a5;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;justify-content:center;align-items:center;gap:.75rem;width:calc(100% - 1.5rem);min-height:42px;margin:0 .75rem 1rem;padding:.6rem .85rem;font-size:.875rem;font-weight:750;transition:all .17s;display:inline-flex}.logoutButton:hover{color:#fff;background:#ef444433;border-color:#ef444466;transform:translateY(-1px)}.workMain{grid-template-rows:auto 1fr;min-width:0;display:grid}.workTopbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.85rem clamp(1rem,3vw,2rem);display:flex;box-shadow:0 1px 6px #0000000f}.workTopbar h1{color:#0f172a;margin:0;font-size:clamp(1.25rem,2.5vw,1.7rem);font-weight:900;line-height:1.1}.userBadge{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.65rem;padding:.4rem .75rem .4rem .45rem;display:inline-flex}.userBadge>span,.avatarLarge{color:#fff;background:linear-gradient(135deg,orange,#ff6b00);justify-content:center;align-items:center;font-weight:900;display:inline-flex}.userBadge>span{border-radius:9px;width:36px;height:36px;font-size:.82rem}.userBadge strong,.userBadge small{display:block}.userBadge strong{color:#172033;font-size:.85rem;font-weight:800}.userBadge small{color:#64748b;margin-top:.1rem;font-size:.72rem}.workContent{padding:clamp(1rem,3vw,1.75rem)}.dashboardStack{gap:1rem;display:grid}.welcomePanel{color:#fff;background:linear-gradient(135deg,#0d74c5f5,#111827f5),linear-gradient(45deg,#ffffff1f,#0000);border-radius:16px;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.2rem,3vw,1.8rem);display:flex}.welcomePanel span{color:#cde7ff;margin-bottom:.45rem;font-size:.8rem;font-weight:850;display:block}.welcomePanel h2{margin:0;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.08}.welcomePanel p{color:#ffffffc7;max-width:680px;margin:.75rem 0 0;line-height:1.55}.workPrimaryButton{color:#0f4f94;background:#fff;border:0;border-radius:10px;flex:none;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;font-weight:850;display:inline-flex}.statGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.statCard,.workPanel,.profileCard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 14px 36px #0f172a0f}.statCard{gap:.45rem;min-height:142px;padding:1.1rem;display:grid}.statCard span{color:#fff;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.statCard.blue span{background:#0d74c5}.statCard.green span{background:#159a54}.statCard.orange span{background:#e28512}.statCard.slate span{background:#334155}.statCard strong{color:#111827;font-size:2rem;line-height:1}.statCard small{color:#64748b;font-size:.86rem;font-weight:700}.dashboardColumns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.workPanel{padding:1rem}.pagePanel{min-height:460px}.panelHeader{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.9rem;display:flex}.panelHeader h3{color:#111827;margin:0;font-size:1.05rem}.panelHeader p{color:#64748b;margin:.3rem 0 0;line-height:1.45}.addShortcutButton{color:#fff;background:#0d74c5;border:0;border-radius:10px;flex:none;align-items:center;gap:.45rem;min-height:40px;padding:.65rem .9rem;font-weight:850;display:inline-flex}.addShortcutButton:hover{background:#0b65ad}.shortcutForm{background:#f8fafc;border:1px solid #dbe5f0;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;padding:1rem;display:grid}.formTitle{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-column:1/-1;justify-content:space-between;align-items:center;padding:.9rem;display:flex}.formTitle strong,.formTitle small{display:block}.formTitle strong{color:#172033;font-size:.98rem}.formTitle small{color:#64748b;margin-top:.2rem}.logoPreview{flex:none;justify-content:center;align-items:center;display:inline-flex}.logoPreview img{object-fit:cover;border:1px solid #d7e1ec;border-radius:12px;width:48px;height:48px}.shortcutForm label{color:#334155;gap:.4rem;font-size:.82rem;font-weight:800;display:grid}.urlInputWrapper{flex-direction:column;gap:.4rem;display:flex}.urlInputWrapper input{width:100%}.fetchingBadge{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.3rem .6rem;font-size:.76rem;font-weight:700;animation:1.2s ease-in-out infinite pulseFade}@keyframes pulseFade{0%,to{opacity:1}50%{opacity:.55}}.shortcutForm input{color:#172033;background:#fff;border:1px solid #d7e1ec;border-radius:10px;outline:0;width:100%;min-height:42px;padding:0 .8rem}.shortcutForm input:focus{border-color:#0d74c5;box-shadow:0 0 0 3px #0d74c51f}.logoPicker,.colorPicker,.uploadLogo{color:#334155;grid-column:1/-1;gap:.55rem;font-size:.82rem;font-weight:800;display:grid}.logoChoiceGrid,.colorPicker div{flex-wrap:wrap;gap:.5rem;display:flex}.uploadLogo div{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.logoChoice,.colorChoice{color:#475569;background:#fff;border:1px solid #d7e1ec;border-radius:10px;align-items:center;gap:.45rem;min-height:38px;padding:.5rem .7rem;font-size:.8rem;font-weight:850;display:inline-flex}.logoChoice input,.colorChoice input{opacity:0;width:1px;height:1px;position:absolute}.logoChoice.active,.colorChoice.active{color:#0d74c5;background:#eaf4ff;border-color:#0d74c5}.colorChoice i{border-radius:999px;width:14px;height:14px;display:inline-block}.colorChoice i.blue{background:#0d74c5}.colorChoice i.green{background:#159a54}.colorChoice i.orange{background:#e28512}.colorChoice i.slate{background:#334155}.uploadLogoBox,.removeLogoButton{border-radius:10px;align-items:center;gap:.45rem;min-height:40px;padding:.6rem .8rem;font-weight:850;display:inline-flex}.uploadLogoBox{color:#0d74c5;background:#fff;border:1px solid #d7e1ec}.uploadLogoBox input{opacity:0;width:1px;height:1px;position:absolute}.removeLogoButton{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}.uploadLogo small{color:#64748b;font-weight:700}.shortcutActions{justify-content:flex-end;align-items:end;gap:.65rem;display:flex}.shortcutMessage{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px;margin:0 0 1rem;padding:.75rem .9rem;font-size:.86rem;font-weight:800}.shortcutCounter{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem .9rem;font-size:.86rem;font-weight:750;display:flex}.shortcutCounter span{color:#fff;background:#0d74c5;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 .4rem;font-size:.78rem;display:inline-flex}.shortcutForm{background:#f8fafc;border:1px solid #dbe5f0;border-radius:14px;flex-direction:column;gap:0;margin-bottom:1rem;display:flex;overflow:hidden}.urlFetchSection,.manualEditSection,.logoSection{border-bottom:1px solid #e8eef6;padding:1rem 1.1rem}.logoSection{border-bottom:none}.urlFetchHeader{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.85rem;display:flex}.urlFetchHeader span{color:#172033;font-size:.86rem;font-weight:800}.urlFetchHeader small{color:#64748b;margin-left:auto;font-size:.78rem;font-weight:600}.urlFetchHeader svg{color:#0d74c5;flex:none}.urlFetchRow{gap:.6rem;display:flex}.urlFetchInput{color:#172033;background:#fff;border:1.5px solid #d7e1ec;border-radius:10px;outline:0;flex:1;min-height:44px;padding:0 .9rem;font-size:.93rem;transition:border-color .15s}.urlFetchInput:focus{border-color:#0d74c5;box-shadow:0 0 0 3px #0d74c51f}.urlFetchBtn{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#0d74c5,#0b65ad);border:0;border-radius:10px;align-items:center;gap:.4rem;min-height:44px;padding:0 1.1rem;font-size:.86rem;font-weight:800;transition:filter .15s,opacity .15s;display:inline-flex}.urlFetchBtn:hover:not(:disabled){filter:brightness(1.1)}.urlFetchBtn:disabled{cursor:not-allowed;opacity:.7;background:#94a3b8}.spinnerDot{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spinnerRotate;display:inline-block}@keyframes spinnerRotate{to{transform:rotate(360deg)}}.fetchPreviewCard{background:#fff;border:1.5px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:.85rem;margin-top:.85rem;padding:.85rem;animation:.3s fadeSlideIn;display:flex;position:relative}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fetchPreviewLogo{object-fit:contain;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;flex:none;width:44px;height:44px}.fetchPreviewInfo{gap:.2rem;min-width:0;display:grid}.fetchPreviewInfo strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;display:block;overflow:hidden}.fetchPreviewInfo small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.3;display:block;overflow:hidden}.fetchPreviewUrl{color:#0d74c5;text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.72rem;font-weight:600;display:block;overflow:hidden}.fetchStatus{white-space:nowrap;border-radius:8px;flex:none;padding:.3rem .6rem;font-size:.75rem;font-weight:700}.fetchStatus.ok{color:#166534;background:#dcfce7}.fetchStatus.warn{color:#9a3412;background:#fff7ed}.manualEditFields{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.manualEditFields label{color:#334155;gap:.4rem;font-size:.82rem;font-weight:800;display:grid}.manualEditFields label em{color:#ef4444;font-style:normal}.manualEditFields input{color:#172033;background:#fff;border:1px solid #d7e1ec;border-radius:10px;outline:0;width:100%;min-height:42px;padding:0 .8rem;font-size:.88rem}.manualEditFields input:focus{border-color:#0d74c5;box-shadow:0 0 0 3px #0d74c51f}.logoSection .logoPicker,.logoSection .colorPicker,.logoSection .uploadLogo{margin-bottom:.75rem}.shortcutActions{border-top:1px solid #e8eef6;padding:.85rem 1.1rem}.cancelShortcutButton,.saveShortcutButton{border-radius:10px;min-height:42px;padding:.65rem .9rem;font-weight:850}.cancelShortcutButton{color:#475569;background:#fff;border:1px solid #d7e1ec}.saveShortcutButton{color:#fff;background:#159a54;border:0}.saveShortcutButton:hover{background:#0f8747}.agendaList,.announcementList,.taskList{gap:.75rem;display:grid}.agendaList article,.announcementList article,.taskList article{background:#f8fafc;border:1px solid #e8eef6;border-radius:12px}.agendaList article{grid-template-columns:66px minmax(0,1fr);align-items:center;gap:.85rem;padding:.85rem;display:grid}.agendaList time{color:#0d74c5;text-align:center;background:#eaf4ff;border-radius:10px;padding:.55rem 0;font-size:.86rem;font-weight:900}.agendaList strong,.announcementList strong,.internalAppCard strong,.taskList strong{color:#172033;display:block}.agendaList small,.announcementList small,.internalAppCard small,.taskList small{color:#64748b;margin-top:.25rem;font-size:.82rem;display:block}.announcementList article{gap:.35rem;padding:.9rem;display:grid}.announcementList span{color:#0d74c5;font-size:.76rem;font-weight:900}.pageList{gap:1rem}.internalAppsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.internalAppsGrid.expanded{grid-template-columns:repeat(3,minmax(0,1fr))}.internalAppCard{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(0,1fr);align-items:center;min-height:82px;padding:0;display:grid;overflow:hidden}.internalAppCard:hover{border-color:#8cc7f3;transition:all .16s;transform:translateY(-1px)}.internalAppLink{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:82px;padding:.9rem;display:grid}.editShortcutButton{color:#0d74c5;background:#eef6ff;border:0;border-left:1px solid #dbeafe;justify-content:center;align-self:stretch;align-items:center;gap:.35rem;padding:0 .85rem;font-size:.82rem;font-weight:900;display:inline-flex}.taskList article{grid-template-columns:minmax(170px,1fr) minmax(140px,280px) 52px;align-items:center;gap:1rem;padding:1rem;display:grid}.taskList b{color:#0d74c5;text-align:right}.progressTrack{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.progressTrack span{background:linear-gradient(90deg, var(--blue), var(--green));border-radius:inherit;height:100%;display:block}.documentGrid,.adminGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.documentGrid article,.adminGrid article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:.55rem;min-height:160px;padding:1rem;display:grid}.documentGrid svg,.adminGrid svg{color:#0d74c5}.documentGrid strong,.adminGrid strong{color:#172033}.documentGrid small,.adminGrid small{color:#64748b;line-height:1.45}.documentGrid span{color:#0d74c5;background:#eaf4ff;border-radius:999px;place-self:end start;padding:.32rem .55rem;font-size:.72rem;font-weight:900}.profileGrid{grid-template-columns:290px minmax(0,1fr);gap:1rem;display:grid}.profileCard{text-align:center;align-content:center;justify-items:center;min-height:280px;padding:1.2rem;display:grid}.avatarLarge{border-radius:22px;width:86px;height:86px;margin-bottom:1rem;font-size:1.8rem}.profileCard h3{color:#111827;margin:0}.profileCard p{color:#64748b;margin:.4rem 0 0}.profileDetails{gap:.75rem;margin:0;display:grid}.profileDetails div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.9rem}.profileDetails dt{color:#64748b;font-size:.78rem;font-weight:800}.profileDetails dd{color:#172033;margin:.25rem 0 0;font-weight:850}@media (width<=1060px){.portalShell{grid-template-rows:64px minmax(560px,1fr) auto}.appGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.statGrid,.internalAppsGrid,.internalAppsGrid.expanded,.documentGrid,.adminGrid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px}.workPortal{grid-template-columns:220px minmax(0,1fr)}.shortcutForm,.dashboardColumns,.profileGrid{grid-template-columns:1fr}}@media (width<=768px){.portalShell{grid-template-rows:64px minmax(0,1fr) auto}.portalHeader{height:64px;padding-left:1rem;padding-right:1rem}.portalLogo small{display:none}.loginButton{min-height:36px;padding:.45rem .85rem;font-size:.82rem}.heroSection{text-align:center;justify-content:flex-start;padding:1rem 1rem 1.5rem}.heroSection h1{font-size:clamp(2.4rem,13vw,3.5rem);line-height:.95}.heroSection p{margin:.7rem 0 1rem;font-size:.82rem;line-height:1.45}.searchBox{width:100%;max-width:100%}.appGrid{grid-template-columns:1fr}.appCard{border-radius:0;grid-template-columns:24px 40px 1fr 16px;gap:.6rem;min-height:auto;padding:.85rem .35rem}.appIcon{border-radius:10px;width:34px;height:34px}.appCopy strong{font-size:.8rem}.appCopy small{font-size:.68rem}.workPortal{grid-template-rows:1fr auto;grid-template-columns:1fr;padding-bottom:70px}.workSidebar{z-index:50;grid-template-rows:unset;grid-template-columns:unset;background:linear-gradient(#0f1824 0%,#070c17 100%);border-top:1px solid #ffffff1a;border-right:0;flex-direction:row;order:2;align-items:center;min-height:0;padding:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0006}.workSidebar .portalLogo,.logoutButton{display:none}.workNav{gap:0;align-content:unset;flex-direction:row;flex:1;width:100%;padding:0;display:flex}.workNav:before{display:none}.workNavButton{text-align:center;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;min-height:60px;padding:.5rem .25rem;font-size:.62rem}.workNavButton svg{opacity:.9}.workNavButton.active{color:orange;background:linear-gradient(#ffa5002e,#ff8c0014);border-bottom:3px solid orange;border-radius:0}.workMain{order:1}.workTopbar{z-index:10;padding:.65rem 1rem;position:sticky;top:0}.workTopbar h1{font-size:1.1rem}.userBadge{gap:.45rem;padding:.3rem .6rem .3rem .35rem}.userBadge>span{border-radius:7px;width:30px;height:30px;font-size:.72rem}.userBadge strong{font-size:.78rem}.userBadge small{font-size:.65rem}.workTopbar{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.workContent{padding:.85rem}.welcomePanel{flex-direction:column;gap:1rem;padding:1rem}.welcomePanel h2{font-size:1.3rem}.workPrimaryButton{justify-content:center;width:100%}.statGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.statCard{min-height:110px;padding:.85rem}.statCard strong{font-size:1.6rem}.dashboardColumns,.profileGrid{grid-template-columns:1fr}.internalAppsGrid,.internalAppsGrid.expanded,.documentGrid,.adminGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.taskList article{grid-template-columns:1fr}.taskList b{text-align:left}.panelHeader{flex-wrap:wrap;gap:.7rem}.panelHeader h3{font-size:.98rem}.addShortcutButton,.cancelShortcutButton,.saveShortcutButton{width:100%}.shortcutActions{flex-direction:column}.modalLayer{align-items:center;padding:1.2rem}.loginContainer{display:none}.loginBox{border-radius:20px;width:100%;max-width:400px;max-height:88vh;margin:0;padding:1.6rem 1.4rem 1.8rem;animation:.3s cubic-bezier(.34,1.56,.64,1) loginScaleUp;overflow-y:auto}@keyframes loginScaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.loginLogoImg{width:48px;height:48px}.loginTitle{font-size:1.3rem}.manualEditFields{grid-template-columns:1fr}.urlFetchRow{flex-direction:column}.urlFetchBtn{justify-content:center;width:100%}}@media (width<=400px){.appGrid{grid-template-columns:1fr}.appCard{gap:.5rem;min-height:54px;padding:.55rem .6rem}.appIcon{width:30px;height:30px}.appCopy strong{font-size:.74rem}.appCopy small{font-size:.62rem}.statGrid,.internalAppsGrid,.internalAppsGrid.expanded,.documentGrid,.adminGrid{grid-template-columns:1fr}.workNavButton{font-size:.55rem}}.logoUrlInputRow{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.logoUrlInputRow>input{color:#172033;background:#fff;border:1px solid #d7e1ec;border-radius:10px;outline:0;flex:1;min-width:180px;min-height:40px;padding:0 .75rem;font-size:.85rem}.logoUrlInputRow>input:focus{border-color:#0d74c5;box-shadow:0 0 0 3px #0d74c51f}.logoUrlPreview{object-fit:contain;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;flex:none;width:40px;height:40px;padding:3px}.mobileLogoutBtn{display:none}@media (width<=768px){.mobileLogoutBtn{color:#ef4444;cursor:pointer;background:#ef44441f;border:1px solid #ef444440;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .16s;display:inline-flex}.mobileLogoutBtn:hover,.mobileLogoutBtn:active{background:#ef44443d}.workSidebar{padding-bottom:env(safe-area-inset-bottom,0px)}.workPortal{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}}.dbBadge{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .65rem;font-size:.73rem;font-weight:800;display:inline-flex}.dbBadge.synced{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.dbBadge.local{color:#92400e;background:#fef9c3;border:1px solid #fde68a}.dbBadge.loading{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;gap:.5rem}.internalAppCard.editable{grid-template-columns:minmax(0,1fr) auto}.cardActions{border-left:1px solid #e2e8f0;flex-direction:column;align-items:stretch;display:flex}.editShortcutButton,.deleteShortcutButton{border:0;justify-content:center;align-self:stretch;align-items:center;min-width:42px;padding:0;font-size:.78rem;font-weight:900;transition:background .15s;display:inline-flex}.editShortcutButton{color:#0d74c5;background:#eef6ff;border-bottom:1px solid #e2e8f0}.editShortcutButton:hover{background:#dbeafe}.deleteShortcutButton{color:#be123c;background:#fff1f2}.deleteShortcutButton:hover{background:#ffe4e6}.bannerOverlay{z-index:50;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;animation:.35s bannerFadeIn;display:flex;position:fixed;inset:0}@keyframes bannerFadeIn{0%{opacity:0}to{opacity:1}}.bannerCarousel{background:#0d1525;border-radius:18px;width:100%;max-width:820px;max-height:90vh;animation:.4s cubic-bezier(.34,1.56,.64,1) bannerSlideUp;position:relative;overflow:hidden;box-shadow:0 32px 80px #0009}@keyframes bannerSlideUp{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.bannerClose{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10;background:#00000080;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,transform .2s;display:flex;position:absolute;top:1rem;right:1rem}.bannerClose:hover{background:#fff3;transform:scale(1.1)}.bannerSlide{background-color:#111a28;background-position:50%;background-size:cover;width:100%;min-height:440px;transition:opacity .4s;position:relative}.bannerSlide.animating{opacity:.35}.bannerGradient{background:linear-gradient(90deg,#080d1ceb 0%,#080d1cb3 50%,#080d1c1a 100%);position:absolute;inset:0}.bannerContent{z-index:2;max-width:480px;position:absolute;bottom:6rem;left:2.5rem}.bannerTag{color:#ffffffe6;letter-spacing:2px;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:20px;margin-bottom:.9rem;padding:.28rem .9rem;font-size:.68rem;font-weight:700;display:inline-block}.bannerTitle{color:#fff;text-shadow:0 2px 16px #00000080;margin:0 0 .8rem;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:900;line-height:1.1}.bannerHighlight{color:#4ab3f4}.bannerDesc{color:#ffffffd1;margin:0 0 1.5rem;font-size:clamp(.85rem,1.4vw,1rem);line-height:1.65}.bannerBtn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:#ffffff24;border:2px solid #ffffff80;border-radius:30px;padding:.75rem 1.8rem;font-size:.78rem;font-weight:700;transition:background .25s,border-color .25s,transform .2s}.bannerBtn:hover{background:#ffffff40;border-color:#fff;transform:translateY(-2px)}.bannerDots{z-index:10;justify-content:center;gap:.45rem;width:100%;display:flex;position:absolute;bottom:1.1rem}.bannerDot{cursor:pointer;background:#fff6;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .25s,width .25s,border-radius .25s}.bannerDot.active{background:#fff;border-radius:4px;width:24px}@media (width<=600px){.bannerOverlay{align-items:center;padding:1.2rem}.bannerCarousel{border-radius:20px;width:100%;max-height:80vh}.bannerSlide{border-radius:20px;min-height:68vw}.bannerDots{bottom:unset;justify-content:flex-start;width:auto;padding:0;top:1.2rem;left:1.2rem}.bannerContent{max-width:calc(100% - 2.4rem);bottom:1.8rem;left:1.2rem}.bannerTitle{margin-bottom:.5rem;font-size:clamp(1.4rem,7vw,2rem)}.bannerDesc{margin-bottom:1rem;font-size:.82rem;line-height:1.5}.bannerBtn{padding:.65rem 1.3rem;font-size:.72rem}.bannerClose{top:.8rem;right:.8rem}}
