/* IMPULSO corporate identity. Status and deadline colors remain semantic. */
:root{--ink:#233752;--green:#013370;--muted:#78869b;--line:#e2e7f0;--bg:#f4f6fa;--orange:#fd4f02;--brand-primary:#013370;--brand-accent:#fd4f02}
.brand>div{display:flex;flex-direction:column;min-width:0}.brand strong{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:28px;letter-spacing:-1.4px;line-height:1.1;white-space:nowrap}.brand strong sup{font-family:Arial,sans-serif;display:inline-block;font-size:.32em;vertical-align:super;margin-left:3px;letter-spacing:0;line-height:1}.brand small{align-self:flex-end;color:#fd4f02;font-weight:650;font-size:8px;letter-spacing:2px;margin-top:5px}.login-art .brand strong{font-size:42px}.login-art .brand small{font-size:11px;letter-spacing:3px}
.sidebar{background:#013370;color:#dce5fa}.sidebar .brand{gap:8px;margin-left:0;margin-right:0}.sidebar .brand strong{font-size:25px}.sidebar .brand img{width:33px;height:33px}.nav-caption{color:#9bafd3}.nav button{color:#c1cfea}.nav button:hover{background:#ffffff0f;color:white}.nav button.active{background:#ffffff18;box-shadow:inset 3px 0 #fd4f02}.nav button.active .icon{color:#ff8955}.profile small{color:#aabddd}.local-badge{color:#b4c6e8}.sidebar-toggle{color:#dce5fa}.sidebar-toggle:hover{background:#ffffff20}
.primary{background:#013370}.primary:hover{background:#1b438b}.primary:active{background:#0d2452}.secondary:hover{background:#edf2fc;border-color:#c4d1e9}.text-link,.forgot-link{color:#244c94}.text-link:hover,.forgot-link:hover{color:#c34920}button:focus-visible,a:focus-visible{outline-color:#fd4f02}input:focus,select:focus,textarea:focus{border-color:#5274b1;box-shadow:0 0 0 3px #01337012}input[type=checkbox]{accent-color:#013370}
.login{background:#f4f6fa}.login-art{background:linear-gradient(140deg,#0d2452,#013370 65%,#234b8d)}.login-art h1 em{color:#fd4f02}.login-art p{color:#c2cfea}.login-art .eyebrow{color:#b5c8ed!important}.login-form-side{background:radial-gradient(ellipse at 75% 20%,#dce5f780,transparent 70%)}.login-card{border-color:#e0e6f0;box-shadow:0 22px 80px #01337010}.login-card:before{background:#fd4f02}.login-card input,.login-card .password{background:#fafbfe}.login-card form>.primary{box-shadow:0 5px 14px #01337020}.login-trust{border-color:#e4eaf4;color:#78869b}.building span{border-color:#9eb7e665;background:repeating-linear-gradient(0deg,transparent 0px,transparent 25px,#c0d1f235 26px,transparent 27px),repeating-linear-gradient(90deg,#4265a188 0px,#4265a188 18px,#9eb7e650 19px,#4265a188 20px);box-shadow:15px -10px 0 #9eb7e612}
.topbar{background:#fcfdff}.avatar{background:#fff0e8;color:#a34321}.stat:first-child{background:#013370;border-color:#013370}.stat:first-child .stat-label,.stat:first-child small{color:#c0cfee}.stat:first-child .stat-icon{color:#ff8955}.stat .progress-track span{background:#fd4f02}.stat-icon{color:#42649e!important;background:#edf2fc!important}.phase-number{background:#edf2fc;border-color:#dfe7f6;color:#42649e}.project-pill{background:#edf2fc;border-color:#dae4f6;color:#31558f}.phase-row:hover{background:#f7f9fe}.text-link{color:#31558f}
.modern-select:not(.status-select) .dropdown-trigger{background:#f6f8fd;border-color:#dce4f2;color:#35517e}.modern-select:not(.status-select) .dropdown-trigger:hover{background:#edf2fc;border-color:#b5c6e5}.modern-select:not(.status-select) .dropdown-trigger[aria-expanded=true]{background:#edf2fc;border-color:#6684b8;box-shadow:0 0 0 3px #0133700d}.context .dropdown-trigger{background:#f1f5fc}.dropdown-menu{border-color:#dce4f2;box-shadow:0 14px 35px #01337020;scrollbar-color:#c4d1e9 transparent}.dropdown-option:hover,.dropdown-option:focus-visible{background:#edf2fc}.dropdown-option[aria-selected=true]{background:#f1f5fc;color:#244c94}.dropdown-check{color:#244c94}
@media(max-width:640px){.login-art .brand strong{font-size:32px}.login-art .brand small{font-size:8px;letter-spacing:2px}.sidebar .brand strong{font-size:25px}}

/* Corporate sidebar scrollbar */
.sidebar,.sidebar .nav{scrollbar-color:#fd4f02 #ffffff12;scrollbar-width:thin}.sidebar::-webkit-scrollbar,.sidebar .nav::-webkit-scrollbar{width:7px;height:7px}.sidebar::-webkit-scrollbar-track,.sidebar .nav::-webkit-scrollbar-track{background:#ffffff12}.sidebar::-webkit-scrollbar-thumb,.sidebar .nav::-webkit-scrollbar-thumb{background:#fd4f02;border-radius:8px}.sidebar::-webkit-scrollbar-thumb:hover,.sidebar .nav::-webkit-scrollbar-thumb:hover{background:#e24602}

/* Official transparent symbol; white mounting only on dark brand surfaces. */
.brand img{object-fit:contain;flex-shrink:0}
.login-art .brand img{width:64px;height:64px;background:#fff;border-radius:14px;padding:9px;box-shadow:0 4px 16px #001a3a16}
.sidebar .brand img{width:38px;height:42px;background:#fff;border-radius:9px;padding:6px}
.sidebar-compact .sidebar .brand img{width:33px;height:37px;padding:5px}
@media(max-width:640px){.login-art .brand img{width:52px;height:56px;padding:8px;border-radius:11px}}

/* Enlarge the symbol within its white mount, compensating transparent canvas margins. */
.login-art .brand img,.sidebar .brand img,.sidebar-compact .sidebar .brand img{padding:0;object-fit:cover;object-position:center;clip-path:inset(0 round 9px)}

/* Crisp vector symbol with balanced optical spacing. */
.login-art .brand img,.sidebar .brand img,.sidebar-compact .sidebar .brand img{object-fit:contain;object-position:center;clip-path:none;background:#fff;padding:6px;border-radius:10px;image-rendering:auto}
.login-art .brand img{width:64px;height:68px;padding:7px;border-radius:14px}
.sidebar .brand img{width:38px;height:42px;padding:4px;border-radius:9px}
.sidebar-compact .sidebar .brand img{width:33px;height:37px;padding:4px;border-radius:8px}
@media(max-width:640px){.login-art .brand img{width:52px;height:56px;padding:6px;border-radius:11px}}

/* Development credit, kept at the bottom of the workspace. */
.shell>.main{display:flex;flex-direction:column;min-height:100svh}
.shell>.main>.topbar{flex-shrink:0}.shell>.main>.content{width:100%;flex:1}
.system-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px 7px;padding:17px 24px;border-top:1px solid var(--line);color:#78869b;font-size:11px;line-height:1.8;text-align:center;background:#fcfdff}
.system-footer a{color:#35517e;text-decoration:none;font-weight:600;text-underline-offset:3px}.system-footer a:hover{text-decoration:underline;color:#c34920}.system-footer a:focus-visible{outline:2px solid #fd4f02;outline-offset:3px;border-radius:2px}
@media(max-width:640px){.system-footer{padding:14px 12px;font-size:10px;gap:2px}.system-footer>span:first-child{flex-basis:100%}.system-footer>.footer-separator{display:none}}

.login-art .login-credit{font-size:11px;line-height:1.9;color:#c0cfee;max-width:100%;margin-top:24px}
.login-credit a{color:#fff;font-weight:650;text-decoration:none;text-underline-offset:3px}.login-credit a:hover{text-decoration:underline;color:#ff8955}
@media(max-width:640px){.login-art .login-credit{font-size:10px;margin-top:18px}}

.login-preferences{display:flex;flex-direction:column;gap:12px;margin:20px 0 4px}.login-preferences label{display:flex;align-items:center;gap:9px;font-size:12px;color:#51627d;cursor:pointer;width:fit-content;line-height:1.5}.login-card .login-preferences input{appearance:auto;width:16px;min-width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:#013370;cursor:pointer;border-radius:4px}.login-preferences label:hover{color:#013370}

.login-art .login-credit,.system-footer{font-size:10px}
@media(max-width:640px){.login-art .login-credit,.system-footer{font-size:9px}}

.login-art .login-credit,.system-footer{font-size:9px}
@media(max-width:640px){.login-art .login-credit,.system-footer{font-size:8px}}

/* Compact mobile login masthead without distributed empty space. */
@media(max-width:640px){.login .login-art{min-height:0;height:auto;justify-content:flex-start;gap:0;padding:24px 26px}.login .login-art h1{margin:18px 0 0}.login .login-art .brand{flex-shrink:0}.login .login-art .login-credit{margin-top:18px}}

/* Password visibility: distinct normal and selected states. */
.password button{width:36px;height:36px;display:grid;place-items:center;top:6px;right:6px;padding:8px;border:1px solid transparent;border-radius:9px;color:#6b7f9d;background:transparent;transition:background .15s,color .15s,border-color .15s}
.password button .icon{width:20px;height:20px;stroke-width:1.8}
.password button:hover{background:#eaf0fb;color:#013370}
.password button[aria-pressed=true]{background:#fff0e7;color:#c84300;border-color:#ffd4bf}
.password button:active{transform:scale(.94)}
.password button:focus-visible{outline:2px solid #fd4f02;outline-offset:2px}

/* Immediate touch response for password visibility controls. */
.password button{touch-action:manipulation;transition:none;-webkit-tap-highlight-color:transparent}.password button:active{transform:none}

.app-version{font-size:9px;letter-spacing:.5px;font-weight:500;line-height:1.6}
.profile .app-version{color:#a9bfdf;display:block;margin-top:5px}
.app-version-login{display:block;text-align:center;color:#8995a8;margin-top:10px}
.sidebar-compact .app-version-sidebar{display:none}
