:root{
  --navy:#084c81;--blue:#084c81;--blue-2:#0081b6;--sky:#4fb4e0;--green:#53a045;--green-dark:#007c35;--lime:#9fbf3d;
  --yellow:#ffce00;--orange:#ef7d0a;--red:#e30617;--purple:#662483;--magenta:#a3195b;--bg:#f1f6f5;--surface:#fff;--surface-soft:#f7fafb;
  --text:#263a43;--muted:#667b84;--border:#dce7ea;--shadow:0 18px 45px rgba(8,76,129,.11);
  --shadow-soft:0 8px 22px rgba(8,76,129,.08);--radius:22px;--sidebar:286px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none!important}
body{margin:0;min-height:100vh;font-family:Montserrat,"Century Gothic",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 12% 4%,rgba(255,206,0,.18),transparent 24%),radial-gradient(circle at 88% 12%,rgba(83,160,69,.14),transparent 28%),linear-gradient(180deg,#f3f8f7,#edf5f8 48%,#f7f8f4)}
body.menu-open{overflow:hidden}
a{color:var(--blue);text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
svg{display:block}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.is-hidden{display:none!important}
.muted,small,label small{color:var(--muted)}
.required{color:var(--red)}
.ambient{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:-1}
.ambient-a{width:360px;height:360px;background:rgba(0,129,182,.12);right:-100px;top:20%}
.ambient-b{width:300px;height:300px;background:rgba(159,191,61,.13);left:-80px;bottom:0}

/* Brand and public area */
.brand{display:flex;align-items:center;gap:12px;color:var(--text);min-width:0}
.brand strong{font-size:20px;display:block;letter-spacing:-.03em}
.brand small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.brand-mark{width:46px;height:46px;flex:0 0 46px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:25px;font-weight:900;background:linear-gradient(135deg,var(--blue),var(--green));box-shadow:0 12px 24px rgba(11,93,122,.22)}
.brand-mark-xl{width:110px;height:110px;border-radius:34px;font-size:62px}
.brand-official{gap:13px}
.institutional-logo{display:block;width:174px;height:auto;object-fit:contain}
.product-wordmark{padding-left:13px;border-left:1px solid rgba(87,87,87,.35)}
.product-wordmark strong{font-size:19px;color:var(--blue)}
.product-wordmark small{font-size:8px;letter-spacing:.07em}
.brand-official-sidebar{display:grid;grid-template-columns:1fr;gap:8px;justify-items:start}
.brand-official-sidebar .institutional-logo{width:174px}
.brand-official-sidebar .product-wordmark{padding:0;border:0;display:flex;align-items:baseline;gap:8px}
.brand-official-sidebar .product-wordmark small{white-space:normal}
.app-icon-xl{width:112px;height:112px;border-radius:27px;box-shadow:0 18px 35px rgba(8,76,129,.22)}
.hero-institutional-logo{width:190px;height:auto;margin-top:10px}
.footer-logo{width:155px;height:auto;margin-bottom:7px}
.public-header{max-width:1240px;margin:0 auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative}
.public-nav{display:flex;align-items:center;gap:22px;font-weight:750}
.public-menu-toggle{display:none!important}
.public-main{max-width:1240px;margin:0 auto;padding:35px 28px 80px}
.public-footer{display:grid;justify-items:center;gap:5px;text-align:center;color:var(--muted);padding:28px}
.public-footer strong{color:var(--text)}
.hero{min-height:540px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:50px}
.hero h1,.showcase h1{font-size:clamp(48px,7vw,78px);line-height:.98;letter-spacing:-.06em;margin:14px 0 24px}
.hero h1 em,.showcase h1 em{font-style:normal;color:var(--blue-2)}
.hero p,.showcase p{font-size:19px;line-height:1.7;color:var(--muted);max-width:690px}
.eyebrow,.section-kicker{color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.hero-actions-centered{justify-content:center}
.hero-panel{min-height:380px;border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow);display:grid;place-items:center;position:relative;overflow:hidden}
.hero-panel:before{content:"";position:absolute;width:360px;height:360px;border:55px solid rgba(0,129,182,.08);border-radius:50%}
.brand-orbit{position:relative;text-align:center;display:grid;place-items:center;gap:10px}
.brand-orbit strong{font-size:42px;letter-spacing:-.05em}
.brand-orbit small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.services{padding:50px 0}
.section-heading{margin-bottom:24px}.section-heading h2{font-size:36px;letter-spacing:-.04em;margin:10px 0}
.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.service-card{padding:22px;border-radius:22px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow-soft);transition:.2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.service-card h3{font-size:16px;margin:16px 0 9px}.service-card p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.service-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(11,93,122,.1);color:var(--blue)}
.service-icon.small{width:38px;height:38px}.service-icon svg{width:20px;height:20px}
.identify-card{margin-top:45px;border-radius:32px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow)}
.identify-card h2{font-size:32px;margin:10px 0}.identify-card p{color:var(--muted);line-height:1.6}.identify-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}

/* Buttons */
.btn{min-height:46px;border:0;border-radius:14px;padding:12px 18px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 9px 20px rgba(11,93,122,.09)}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn svg{width:18px;height:18px}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-2))}.btn-primary:hover{box-shadow:0 12px 25px rgba(11,93,122,.22)}
.btn-light{color:var(--text);background:#fff;border:1px solid var(--border)}.btn-light:hover{background:#f7fafb}
.btn-sm{min-height:40px;padding:9px 13px;font-size:13px}.btn-full{width:100%}
.icon-btn{width:44px;height:44px;border:1px solid var(--border);border-radius:13px;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-soft)}
.icon-btn svg{width:21px;height:21px}.icon-btn:hover{background:var(--surface-soft)}

/* Shared cards and forms */
.card,.stat-card,.sidebar,.topbar{background:rgba(255,255,255,.91);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.card{border-radius:24px;padding:24px;margin-bottom:22px}.card h2,.card h3{margin-top:0}.card p:last-child{margin-bottom:0}
.card-toolbar,.page-title,.ticket-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.card-toolbar h2{margin:5px 0}.page-title{margin-bottom:22px}.page-title h1{font-size:clamp(31px,4vw,40px);letter-spacing:-.045em;margin:4px 0}.page-title p{margin:6px 0;color:var(--muted)}
.page-title-actions{align-items:center}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.count-pill,.form-step{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:5px 9px;border-radius:999px;background:#e8f2f5;color:var(--blue);font-size:12px;font-weight:900}
.form-card{padding:28px}.form-stack{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}
label{display:grid;align-content:start;gap:8px;font-weight:780;font-size:13px;min-width:0}
input,select,textarea{width:100%;min-height:46px;border:1px solid var(--border);border-radius:13px;padding:12px 13px;background:#fff;color:var(--text);outline:none;transition:border .18s,box-shadow .18s}
select{cursor:pointer}textarea{min-height:116px;resize:vertical;line-height:1.55}
input:hover,select:hover,textarea:hover{border-color:#bfd2d8}input:focus,select:focus,textarea:focus{border-color:rgba(22,131,165,.62);box-shadow:0 0 0 4px rgba(22,131,165,.11)}
input::placeholder,textarea::placeholder{color:#98a8ae}.check{display:flex;align-items:center;gap:10px}.check input{width:18px;height:18px;min-height:0}
.form-section{border:1px solid var(--border);border-radius:19px;padding:20px;margin:0;background:linear-gradient(180deg,#fff,#fbfdfd)}
.form-section legend{padding:0 10px 0 0;font-size:15px;font-weight:900;color:var(--navy)}.form-section legend span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;margin-right:8px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-2))}
.form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.filter-bar{display:grid;grid-template-columns:2fr 1fr 1.25fr auto;gap:12px;align-items:end}.filter-bar-assets{grid-template-columns:minmax(240px,2fr) 1fr 1fr auto auto;margin:18px 0 22px}.filter-search{min-width:0}
.request-filters{grid-template-columns:minmax(180px,2fr) repeat(5,minmax(120px,1fr)) auto}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.help-text,.muted{color:var(--muted)}

/* Alerts */
.alert{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:15px;margin-bottom:16px;font-weight:750;transition:opacity .3s,transform .3s}.alert.fade{opacity:0;transform:translateY(-5px)}
.alert-danger{background:#ffe7e8;color:#912431;border:1px solid #ffcbd0}.alert-success{background:#e7f6e7;color:#28732d;border:1px solid #cceaca}.alert-warning{background:#fff3d6;color:#7c5b0a;border:1px solid #f1dda5}.alert-info{background:#e5f3f7;color:#19637b;border:1px solid #c9e4ed}
.alert-close{border:0;background:transparent;color:inherit;font-size:21px;cursor:pointer;line-height:1}

/* Floating feedback and confirmation dialogs */
.toast-stack{position:fixed;top:max(18px,env(safe-area-inset-top));right:18px;z-index:120;display:grid;gap:11px;width:min(390px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:15px 14px;border-radius:18px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.98);box-shadow:0 20px 55px rgba(8,47,65,.2);transform:translateX(calc(100% + 35px));opacity:0;animation:toast-in .35s cubic-bezier(.2,.8,.2,1) forwards;backdrop-filter:blur(20px)}.toast-visible{transform:translateX(0);opacity:1}.toast-leaving{animation:toast-out .28s ease forwards}.toast-icon,.toast-symbol{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#e8f2f5;color:var(--blue);font-size:19px;font-weight:950}.toast-icon svg{width:20px;height:20px}.toast strong{display:block;font-size:13px;line-height:1.3}.toast p{margin:4px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}.toast-action{display:inline-flex;margin-top:8px;font-size:11px;font-weight:900}.toast-close{width:28px;height:28px;border:0;border-radius:9px;background:#f0f4f5;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.toast-success{border-left:5px solid var(--green)}.toast-success .toast-icon,.toast-success .toast-symbol{background:#e5f5e3;color:#28732d}.toast-danger{border-left:5px solid var(--red)}.toast-danger .toast-icon,.toast-danger .toast-symbol{background:#ffe6e8;color:#912431}.toast-warning{border-left:5px solid var(--yellow)}.toast-warning .toast-icon,.toast-warning .toast-symbol{background:#fff4d4;color:#7c5b0a}.toast-info{border-left:5px solid var(--blue-2)}
@keyframes toast-in{from{transform:translateX(calc(100% + 35px));opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toast-out{to{transform:translateX(calc(100% + 35px));opacity:0}}
.app-modal{width:min(510px,calc(100vw - 30px));height:fit-content;min-height:0;max-height:calc(100dvh - 30px);padding:25px;border:0;border-radius:25px;color:var(--text);background:rgba(255,255,255,.98);box-shadow:0 30px 90px rgba(7,35,48,.3);overflow:auto;box-sizing:border-box}.app-modal::backdrop{background:rgba(8,36,48,.5);backdrop-filter:blur(6px)}.app-modal[open]{display:block;animation:modal-in .2s ease}.app-modal-frame{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:16px;align-items:start;align-content:start}.app-modal-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#fff2cf;color:#8a6200}.app-modal-icon svg{width:25px;height:25px}.app-modal-copy h2{margin:4px 0 7px;font-size:24px}.app-modal-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.app-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:5px}.app-modal-actions .btn{min-height:46px;height:auto}@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

/* Authentication and public ticket */
.auth-grid{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.showcase{padding:30px}.auth-card{max-width:560px;width:100%;justify-self:end}.brand-login{display:flex;align-items:center;gap:15px;margin-bottom:26px}.login-institutional-logo{width:190px;height:auto;padding-right:15px;border-right:1px solid var(--border)}.brand-login strong,.brand-login small{display:block}.brand-login small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin-top:4px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;color:var(--blue);font-weight:800}
.track-wrap{max-width:820px;margin:30px auto}.success-ticket{text-align:center;background:linear-gradient(135deg,#effbea,#e8f5f8);padding:38px;border-radius:30px;margin-bottom:24px;border:1px solid rgba(79,155,74,.2);box-shadow:var(--shadow)}.success-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;font-size:32px;margin:0 auto 18px}.success-ticket h1{font-size:42px;margin:10px}.pin-box{display:inline-grid;gap:4px;background:#fff;border-radius:18px;padding:16px 32px;margin:12px}.pin-box strong{font-size:34px;letter-spacing:.18em}.detail{display:grid;grid-template-columns:145px 1fr;gap:13px 18px}.detail dt{font-weight:850;color:var(--muted)}.detail dd{margin:0;line-height:1.6;min-width:0}.comment{padding:15px 0;border-top:1px solid var(--border)}.comment strong,.comment small{display:block}.comment p{margin-bottom:0;line-height:1.6}.attachment{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:rgba(11,93,122,.06);margin-top:10px}.attachment svg{width:19px;height:19px}.attachment span strong,.attachment span small{display:block}

/* Admin shell */
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;left:18px;top:18px;bottom:18px;width:var(--sidebar);border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:16px;z-index:40;overflow:auto}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-close{display:none;box-shadow:none}.brand-chip{font-size:10px;text-transform:uppercase;letter-spacing:.1em;background:rgba(8,76,129,.08);color:var(--blue);border-radius:99px;padding:8px 11px;width:max-content;font-weight:850}.nav{display:grid;gap:17px}.nav-group{display:grid;gap:6px}.nav-label{padding:0 10px;color:#8a9ba2;font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.nav a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:13px;color:var(--text);font-weight:760;transition:.18s}.nav a.active,.nav a:hover{background:rgba(8,76,129,.09);color:var(--blue)}.nav-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.85);color:var(--blue)}.nav-icon svg{width:18px;height:18px}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.session-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:15px;background:#f5f9fa}.session-card strong,.session-card span{display:block}.session-card span{font-size:11px;color:var(--muted)}.version-label{text-align:center;font-size:10px}.main{margin-left:calc(var(--sidebar) + 36px);width:auto;flex:1;min-width:0;padding:18px 22px 80px}.topbar{min-height:76px;border-radius:22px;padding:13px 17px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:18px;z-index:30}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:12px}.topbar strong,.topbar small{display:block}.menu-toggle{display:none}.user-pill{display:flex;align-items:center;gap:10px}.user-avatar{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;display:grid;place-items:center;font-weight:900}.user-avatar-sm{width:36px;height:36px;border-radius:11px}.content{max-width:1460px;min-width:0;margin:22px auto}.sidebar-overlay{display:none}

/* Dashboard and tables */
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card{border-radius:20px;padding:20px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.stat-card>div span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:850}.stat-card strong{font-size:40px;letter-spacing:-.05em}.stat-icon{width:45px;height:45px;border-radius:14px;background:#e8f2f5;color:var(--blue);display:grid;place-items:center}.stat-icon svg{width:21px;height:21px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.table-wrap{overflow:auto;border-radius:14px}table{width:100%;border-collapse:collapse}th,td{padding:13px 11px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}td{font-size:13px}td small{display:inline-block;margin-top:4px}.responsive-table tbody tr:hover{background:#f9fbfb}.empty{text-align:center;color:var(--muted);padding:35px}
.badge{display:inline-flex;align-items:center;border-radius:99px;padding:6px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;white-space:nowrap}.badge-info{background:#e3f2f7;color:#19637b}.badge-primary{background:#dcecf1;color:#084c81}.badge-warning{background:#fff0cc;color:#80600d}.badge-success{background:#e3f4df;color:#347532}.badge-danger{background:#ffe1e4;color:#9f2531}.badge-muted{background:#edf0f1;color:#5d6b70}
.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:12px;padding-bottom:18px}.timeline-item>span{width:10px;height:10px;border-radius:50%;background:var(--blue-2);margin-top:5px;box-shadow:0 0 0 5px rgba(22,131,165,.1)}.timeline-item strong,.timeline-item small{display:block}.timeline-item p{margin:5px 0;color:var(--muted)}.list-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--border)}.list-row strong,.list-row small{display:block}.error-page{text-align:center;padding:70px 26px}.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}.empty-state h3{color:var(--text);margin:14px 0 7px}.empty-icon{width:58px;height:58px;border-radius:18px;background:#e8f2f5;color:var(--blue);display:grid;place-items:center;margin:auto}.empty-icon svg{width:27px;height:27px}hr{border:0;border-top:1px solid var(--border);margin:6px 0}

/* Error recovery */
.error-body{min-height:100vh}.standalone-error{min-height:100vh;display:grid;place-items:center;padding:32px 18px}.error-card{width:min(720px,100%);margin:30px auto;text-align:center;border-radius:34px;padding:54px 46px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.98);box-shadow:0 25px 70px rgba(8,76,129,.16);backdrop-filter:blur(20px)}.error-card h1{font-size:clamp(34px,6vw,56px);line-height:1.04;letter-spacing:-.055em;margin:12px 0 18px}.error-card>p{max-width:580px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.7}.error-illustration{position:relative;width:132px;height:112px;margin:0 auto 26px;display:grid;place-items:center}.error-illustration:before{content:"";position:absolute;inset:6px 12px 14px;border-radius:30px;background:linear-gradient(145deg,var(--blue),var(--blue-2));box-shadow:0 20px 38px rgba(8,76,129,.25);transform:rotate(-4deg)}.error-illustration:after{content:"";position:absolute;width:43px;height:43px;right:0;top:0;border-radius:50%;background:var(--yellow);border:8px solid #fff}.error-illustration span{position:relative;z-index:2;color:#fff;font-size:35px;font-weight:950;letter-spacing:-.06em}.error-illustration i{position:absolute;z-index:2;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.8);bottom:25px}.error-illustration i:nth-of-type(1){left:39px}.error-illustration i:nth-of-type(2){left:52px}.error-illustration i:nth-of-type(3){left:65px}.error-reference{display:inline-grid;gap:5px;margin:24px auto 0;padding:13px 20px;border-radius:16px;background:#eef6f8;border:1px solid #d4e6eb}.error-reference span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.error-reference strong{color:var(--blue);font-size:15px;letter-spacing:.06em}.error-actions{display:flex;justify-content:center;gap:11px;margin-top:26px;flex-wrap:wrap}.error-footnote{display:block;margin-top:22px;color:var(--muted);font-size:10px}

/* Inventory */
.inventory-section{padding:26px}.inventory-toolbar{align-items:center}.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.asset-card{border:1px solid var(--border);border-radius:20px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfd);box-shadow:var(--shadow-soft);min-width:0}.asset-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.asset-device-icon{width:46px;height:46px;border-radius:14px;background:#e8f2f5;color:var(--blue);display:grid;place-items:center}.asset-device-icon svg{width:22px;height:22px}.asset-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-weight:900}.asset-card h3{margin:3px 0 2px;font-size:17px}.asset-card-head p{margin:0;color:var(--muted);font-size:12px}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}.spec-grid>div{padding:11px;border-radius:13px;background:#f4f8f9;min-width:0}.spec-grid span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:850}.spec-grid span svg{width:14px;height:14px}.spec-grid strong{display:block;margin-top:6px;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.asset-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;border-top:1px solid var(--border);padding-top:15px}.asset-meta small,.asset-meta strong{display:block}.asset-meta small{font-size:10px;text-transform:uppercase;letter-spacing:.07em}.asset-meta strong{font-size:12px;margin-top:3px;line-height:1.4;overflow-wrap:anywhere}.asset-card-actions{display:flex;justify-content:flex-end;margin-top:16px}
.health-summary{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin:17px 0;padding:14px;border-radius:16px;background:#f4f8f9}.health-score{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;align-content:center;background:#e3f4df;color:#347532;border:6px solid rgba(52,117,50,.15)}.health-score strong{font-size:20px}.health-score span{font-size:8px;text-transform:uppercase;font-weight:900}.health-alta,.health-urgente{background:#ffe1e4;color:#9f2531;border-color:rgba(159,37,49,.14)}.health-media{background:#fff0cc;color:#80600d;border-color:rgba(128,96,13,.14)}.health-content{min-width:0}.health-heading{display:flex;justify-content:space-between;gap:10px;font-size:12px}.health-heading small,.health-content>small{color:var(--muted);font-size:10px}.health-meter{height:8px;border-radius:99px;background:#dce5e8;overflow:hidden;margin:9px 0}.health-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--blue-2))}.inspection-panel{margin-top:15px;border-top:1px solid var(--border);padding-top:14px}.inspection-panel summary{cursor:pointer;color:var(--blue);font-weight:850;font-size:12px}.inspection-panel form{margin-top:14px}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.score-grid input{min-height:40px;padding:9px}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.area-card{border:1px solid var(--border);border-top:5px solid var(--area-color,#084c81);border-radius:17px;padding:17px;background:#fff}.area-card h3{margin:8px 0}.area-card p{color:var(--muted);font-size:12px;min-height:38px}.area-card>div{font-size:11px;margin:12px 0}.area-code{font-size:10px;color:var(--area-color,#084c81);font-weight:900;letter-spacing:.1em}.stat-danger .stat-icon{background:#ffe1e4;color:#9f2531}.stat-warning .stat-icon{background:#fff0cc;color:#80600d}
.maintenance-overview{margin-bottom:20px}.maintenance-scores{margin:18px 0}.maintenance-scores label{font-size:11px}.maintenance-checklist select{min-width:145px}.maintenance-checklist input{min-width:220px}.compact-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.history-text-stat{font-size:25px!important;line-height:1.1}.asset-card-actions{display:flex;gap:8px;flex-wrap:wrap}fieldset:disabled{opacity:.72}fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{cursor:not-allowed}
.maintenance-calendar-card{margin-bottom:22px}.maintenance-calendar-scroll{overflow-x:auto}.maintenance-calendar{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));min-width:826px;border-left:1px solid var(--border);border-top:1px solid var(--border)}.calendar-weekday{padding:9px;text-align:center;background:#e8f2f5;color:var(--blue);font-size:9px;text-transform:uppercase;letter-spacing:.08em;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.calendar-day{min-height:105px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}.calendar-day>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;font-size:11px;font-weight:900}.calendar-outside{background:#f7f9f9;color:#9aa7ab}.calendar-today>span{background:var(--blue);color:#fff}.calendar-day>div{display:grid;gap:4px;margin-top:5px}.calendar-event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:3px solid var(--blue-2);padding:4px 5px;border-radius:5px;background:#edf7f9;color:var(--navy);font-size:9px}.calendar-event-completado{border-color:var(--green);background:#edf7ea}.calendar-event-cancelado{border-color:#a12835;background:#fff0f1}.calendar-event-en-ejecucion{border-color:#ef7d0a;background:#fff5e8}.calendar-day small{font-size:8px;color:var(--muted)}
.report-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-kpi{margin:0}.report-kpi>span{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900}.report-kpi>strong{display:block;font-size:34px;margin:8px 0}.bar-list{display:grid;gap:15px}.bar-row>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.bar-track{height:10px;background:#edf1f2;border-radius:99px;overflow:hidden;margin-top:7px}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2))}.report-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ranking-list{display:grid}.ranking-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.ranking-list span strong,.ranking-list span small{display:block}.ranking-list span small{color:var(--muted);font-size:10px;margin-top:3px}.rank{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#e8f2f5;color:var(--blue);font-weight:900;font-size:11px}.health-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.health-band-grid>div{padding:15px;border-radius:14px;background:#f4f8f9;text-align:center}.health-band-grid strong,.health-band-grid span{display:block}.health-band-grid strong{font-size:29px}.health-band-grid span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:900}

/* Visual analytics */
.report-title{align-items:center}.report-live{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:99px;background:#e8f7f2;color:#23694f;font-size:11px;font-weight:850;white-space:nowrap}.report-live>span{width:9px;height:9px;border-radius:50%;background:#53a045;box-shadow:0 0 0 5px rgba(83,160,69,.12)}.report-stats .stat-card{overflow:hidden;position:relative}.report-stats .stat-card:after{content:"";position:absolute;right:-28px;bottom:-48px;width:120px;height:120px;border-radius:50%;background:currentColor;opacity:.045}.report-stats small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:4px}.report-stat-blue{color:#084c81}.report-stat-violet{color:#662483}.report-stat-red{color:#e30617}.report-stat-green{color:#007c35}.report-stat-violet .stat-icon{background:#f1e8f5;color:#662483}.report-stat-red .stat-icon{background:#ffe7e9;color:#e30617}.report-stat-green .stat-icon{background:#e5f6e8;color:#007c35}
.report-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:30px 0 16px}.report-section-heading h2{margin:5px 0 0;font-size:26px}.report-section-heading p{max-width:470px;margin:0;color:var(--muted);font-size:12px;text-align:right}.report-section-spaced{margin-top:42px}
.ring-card{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:8px;margin:0;background:linear-gradient(145deg,#fff,#f8fbfc)}.ring-card h3{margin:0 0 7px}.ring-card p{color:var(--muted);font-size:11px;line-height:1.55}.metric-ring{width:145px;max-width:100%;overflow:visible}.chart-ring-bg{fill:none;stroke:#e6edef;stroke-width:12}.chart-ring-value{fill:none;stroke-width:12;stroke-linecap:round}.chart-ring-number{font-size:24px;font-weight:900;fill:var(--navy)}.chart-ring-label{font-size:8px;font-weight:850;text-transform:uppercase;fill:#71838a;letter-spacing:.04em}
.report-visual-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:20px;margin-top:22px}.chart-card{overflow:hidden}.chart-card-wide{margin-top:0}.chart-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.chart-card-head h2{margin:5px 0 0}.chart-card-head p{color:var(--muted);font-size:11px;margin-top:6px}.chart-chip{padding:7px 10px;border-radius:99px;background:#edf4f6;color:var(--blue);font-size:9px;text-transform:uppercase;font-weight:900}.donut-layout{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,1fr);align-items:center;gap:18px}.donut-chart{width:100%;max-width:250px;margin:auto;overflow:visible}.donut-segment{stroke-linecap:butt}.donut-total{font-size:35px;font-weight:900;fill:var(--navy)}.donut-label{font-size:10px;font-weight:850;text-transform:uppercase;fill:#71838a;letter-spacing:.08em}.chart-legend{display:grid;gap:8px}.chart-legend>div{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding-bottom:7px;border-bottom:1px solid #edf1f2;font-size:11px}.chart-dot{width:10px;height:10px;border-radius:50%}.chart-color-0{background:#084c81}.chart-color-1{background:#53a045}.chart-color-2{background:#ef7d0a}.chart-color-3{background:#662483}.chart-color-4{background:#e30617}.chart-color-5{background:#4fb4e0}.chart-color-6{background:#9fbf3d}.chart-color-7{background:#e94e14}.chart-color-8{background:#cb9f65}.chart-color-9{background:#a3195b}.chart-inline-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:10px}.chart-inline-legend span{display:flex;align-items:center;gap:5px}.chart-inline-legend i{width:10px;height:10px;border-radius:3px}.legend-total{background:#0081b6}.legend-closed{background:#53a045}.legend-open{background:#ef7d0a}.chart-scroll{overflow-x:auto}.column-chart,.horizontal-chart{width:100%;min-width:620px;height:auto;display:block}.chart-grid-line{stroke:#e5edef;stroke-width:1}.chart-axis-label{font-size:10px;fill:#63767d;font-weight:750}.chart-value-label{font-size:11px;fill:#163b49;font-weight:900}.chart-bar-bg{fill:#edf2f3}.chart-empty{display:grid;place-items:center;min-height:170px;color:var(--muted);font-size:12px}.compact-chart{min-width:0}.compact-chart .horizontal-chart{min-width:570px}.workload-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.workload-summary>div{padding:9px;border-radius:10px;background:#f4f8f9}.workload-summary span,.workload-summary small{display:block}.workload-summary span{font-size:10px;font-weight:850}.workload-summary small{font-size:9px;color:var(--muted);margin-top:3px}.workload-summary b{color:#a3195b}.asset-report-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.chart-note{padding:11px 13px;border-radius:12px;background:#f4f8f9;color:var(--muted);font-size:10px;line-height:1.5}.health-number{font-size:17px;color:var(--blue)}

/* User profiles */
.users-layout{align-items:start}.profile-list{display:grid;gap:11px}.profile-card{border:1px solid var(--border);border-radius:17px;background:#fff;overflow:hidden}.profile-card>summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:14px;cursor:pointer}.profile-card>summary::-webkit-details-marker{display:none}.profile-card>summary>span:nth-child(2) strong,.profile-card>summary>span:nth-child(2) small{display:block}.profile-card>summary>span:nth-child(2) small{color:var(--muted);font-size:10px;margin-top:4px;line-height:1.45}.profile-status{display:grid;justify-items:end;gap:5px}.profile-status>small{color:var(--blue);font-size:9px;font-weight:900;text-transform:uppercase}.profile-card[open]>summary{background:#f4f8f9}.profile-edit{padding:18px;border-top:1px solid var(--border)}.profile-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;flex-wrap:wrap}

/* Catalog lifecycle and security */
.catalog-layout{align-items:start}.catalog-filters{margin-bottom:20px}.catalog-list{display:grid;gap:8px}.catalog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.status-switch{padding:13px 15px;border:1px solid #c8dfe5;border-radius:13px;background:#f2f9fb;font-weight:850}.row-inactive{opacity:.7;background:#f4f5f5!important}.responsive-table tr.row-inactive td{color:#65757b}.area-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.btn-danger{background:#a12835;color:#fff;border-color:#a12835}.btn-danger:hover{background:#7f1924;color:#fff}.device-agent{display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.security-integrity{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding:17px 20px}.security-integrity>span{width:45px;height:45px;border-radius:14px;display:grid;place-items:center}.security-integrity svg{width:24px;height:24px}.security-integrity strong,.security-integrity small{display:block}.security-integrity small{margin-top:4px;font-size:10px}.integrity-valid{border-left:5px solid var(--green);background:linear-gradient(120deg,#eef9ec,#fff)}.integrity-valid>span{background:#dff1dc;color:#28732d}.integrity-invalid{border-left:5px solid var(--red);background:#fff1f2}.integrity-invalid>span{background:#ffdfe2;color:#912431}.security-warning-card{border-left:5px solid var(--yellow);margin-bottom:20px}.security-filter-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:11px;margin:16px 0 22px;padding:17px;border:1px solid var(--border);border-radius:17px;background:#f7fafb}.security-filter-grid label{font-size:9px;text-transform:uppercase;font-weight:900;color:var(--muted)}.security-filter-grid input,.security-filter-grid select{margin-top:5px}.security-filter-actions{grid-column:span 2;display:flex;gap:8px;align-items:end}.audit-list{display:grid;gap:9px}.audit-event{border:1px solid var(--border);border-radius:15px;background:#fff;overflow:hidden}.audit-event>summary{list-style:none;display:grid;grid-template-columns:95px 1fr auto;gap:14px;align-items:center;padding:13px 15px;cursor:pointer}.audit-event>summary::-webkit-details-marker{display:none}.audit-event[open]>summary{background:#f5f9fa;border-bottom:1px solid var(--border)}.audit-time{font-weight:850;font-size:11px}.audit-time small,.audit-main strong,.audit-main small{display:block}.audit-time small,.audit-main small{font-size:9px;color:var(--muted);margin-top:3px}.audit-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.audit-high,.audit-critical{border-left:4px solid var(--red)}.audit-warning{border-left:4px solid var(--yellow)}.audit-detail{padding:17px}.audit-detail dl{display:grid;grid-template-columns:110px 1fr;gap:8px;margin:0;font-size:11px}.audit-detail dt{font-weight:900;color:var(--muted)}.audit-detail dd{margin:0;overflow-wrap:anywhere}.audit-detail code{font-size:10px}.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.audit-diff>div{min-width:0}.audit-diff strong{display:block;font-size:10px;text-transform:uppercase;margin-bottom:6px}.audit-diff pre{max-height:310px;overflow:auto;margin:0;padding:13px;border-radius:12px;background:#102f3a;color:#d8f1f4;font-size:10px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.security-profile-grid{align-items:start}.security-callout{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;border-radius:14px;background:#edf7fb;color:var(--blue)}.security-callout svg{width:24px}.security-callout p{margin:0;font-size:11px;line-height:1.55}.session-list{display:grid;gap:10px}.session-list article{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border:1px solid var(--border);border-radius:15px;background:#fafcfc}.session-device{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8f2f5;color:var(--blue)}.session-device svg{width:21px}.session-list strong,.session-list small{display:block}.session-list small{color:var(--muted);font-size:9px;margin-top:4px;overflow-wrap:anywhere}.security-meta{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding:14px;border-radius:13px;background:#f4f8f9;font-size:11px}

/* Conformity, work queue and notifications */
.conformity-card{margin-top:24px;padding:22px;border:1px solid #c8e3e8;border-radius:19px;background:linear-gradient(145deg,#f2fbf8,#eef7fb)}.conformity-card h3{margin:7px 0}.conformity-card>p{color:var(--muted);font-size:12px;line-height:1.6}.conformity-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.conformity-options label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:15px;border:1px solid var(--border);border-radius:15px;background:#fff;cursor:pointer}.conformity-options input{width:19px;height:19px;min-height:0}.conformity-options strong,.conformity-options small{display:block}.conformity-options small{font-size:10px;margin-top:3px}.conformity-result{display:grid;gap:5px;margin-top:20px;padding:16px;border-radius:15px}.conformity-result-success{background:#e7f6e7;color:#28732d}.conformity-result-danger{background:#ffe7e8;color:#912431}.conformity-result p{margin:4px 0 0;line-height:1.55}
.queue-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:22px}.queue-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(255,255,255,.96);box-shadow:var(--shadow-soft);color:var(--text)}.queue-card>span{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#e8f2f5;color:var(--blue)}.queue-card svg{width:21px;height:21px}.queue-card small,.queue-card strong{display:block}.queue-card small{font-size:9px;text-transform:uppercase;font-weight:900;line-height:1.35}.queue-card strong{font-size:30px;margin-top:2px}.queue-red>span{background:#ffe7e8;color:#a12835}.queue-orange>span{background:#fff0d9;color:#a56509}.queue-green>span{background:#e7f6e7;color:#28732d}.queue-purple>span{background:#f1e8f5;color:#662483}.queue-yellow>span{background:#fff7d6;color:#80600d}
.notification-bell{position:relative}.notification-bell>span{position:absolute;right:-6px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;display:grid;place-items:center;background:var(--red);color:#fff;border:2px solid #fff;font-size:9px;font-weight:900}.notification-tabs{display:flex;gap:7px;margin:0 0 16px}.notification-tabs a{padding:9px 14px;border-radius:99px;background:#fff;border:1px solid var(--border);font-size:11px;font-weight:850}.notification-tabs a.active{background:var(--blue);color:#fff;border-color:var(--blue)}.notification-list{display:grid;gap:11px}.notification-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid var(--border)}.notification-unread{background:#fff;border-left:5px solid var(--blue);box-shadow:var(--shadow-soft)}.notification-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#e8f2f5;color:var(--blue)}.notification-icon svg{width:21px;height:21px}.notification-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.notification-heading small{white-space:nowrap}.notification-item p{font-size:12px;line-height:1.55;margin:6px 0}.notification-actions form{margin:0}.empty-state{text-align:center;display:grid;justify-items:center}.empty-state>svg{width:42px;height:42px;color:var(--blue)}
.push-settings{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg,#edf7fb,#eff9ed);border:1px solid #cce3df}.push-settings-main{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.push-settings-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff}.push-settings-icon svg{width:27px;height:27px}.push-settings h2{margin:4px 0 6px}.push-settings p{color:var(--muted);font-size:11px;line-height:1.55;margin:0}.push-settings-actions{display:grid;gap:8px;min-width:235px}.push-settings-actions small{text-align:center;font-size:9px;color:var(--muted)}.push-status{display:flex;align-items:center;gap:7px;margin-top:11px;font-size:10px}.push-status-dot{width:9px;height:9px;border-radius:50%;background:#91a1a7;box-shadow:0 0 0 4px rgba(145,161,167,.12)}.push-settings[data-push-state="enabled"] .push-status-dot{background:var(--green);box-shadow:0 0 0 4px rgba(83,160,69,.14)}.push-settings[data-push-state="denied"] .push-status-dot,.push-settings[data-push-state="unsupported"] .push-status-dot{background:var(--red);box-shadow:0 0 0 4px rgba(227,6,23,.1)}.push-ios-help{margin-top:9px!important;padding:9px 11px;border-radius:10px;background:#fff5d9;color:#735500!important}.notification-preference-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.preference-card{align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:15px;background:#fafcfc}.preference-card input{margin-top:2px;flex:0 0 auto}.preference-card span,.preference-card strong,.preference-card small{display:block}.preference-card strong{font-size:11px;line-height:1.35}.preference-card small{font-size:9px;line-height:1.45;margin-top:4px}.notification-preference-form>.btn{grid-column:1/-1;justify-self:end}
.push-device-card{padding-top:20px}.push-device-card .card-toolbar p{margin:5px 0 0;color:var(--muted);font-size:10px}.push-device-list{display:grid;gap:9px}.push-device-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fafcfc}.push-device-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eaf3f8;color:var(--blue)}.push-device-icon svg{width:19px;height:19px}.push-device-row strong,.push-device-row small{display:block}.push-device-row strong{font-size:11px}.push-device-row small{margin-top:3px;color:var(--muted);font-size:9px}

/* Bulk import */
.import-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}.import-steps article{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:16px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-soft)}.import-steps article>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--yellow);color:var(--navy);font-weight:900}.import-steps strong,.import-steps small{display:block}.import-steps small{font-size:9px;line-height:1.4;margin-top:3px}.import-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.import-summary-grid .card{margin:0}.import-summary-grid span,.import-summary-grid small{display:block}.import-summary-grid>article>span{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:900}.import-summary-grid strong{display:block;font-size:38px;color:var(--navy);margin:7px 0}.import-summary-grid small{line-height:1.5}.import-issues{border-top:5px solid var(--red)}.import-warnings{border-top:5px solid var(--yellow)}.import-warning-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.import-warning-list>div{padding:12px;border-radius:12px;background:#fff8e6;border:1px solid #f4dfaa}.import-warning-list strong,.import-warning-list span{display:block;font-size:10px}.import-warning-list span{color:var(--muted);margin-top:4px}.import-confirm{margin-top:20px;padding:17px;border-radius:16px;background:#e9f5e6;border:1px solid #cbe8c5;display:flex;justify-content:space-between;align-items:center;gap:18px}.import-confirm>div:first-child{display:flex;align-items:center;gap:12px}.import-confirm>div:first-child>svg,.import-security-note>svg{width:31px;height:31px;flex:0 0 31px;color:var(--green-dark)}.import-confirm strong,.import-confirm small{display:block}.import-confirm small{font-size:10px;margin-top:4px}.import-confirm .actions form{margin:0}.import-dropzone{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;padding:24px;border-radius:18px;border:2px dashed #a9c7d3;background:#f7fbfc;cursor:pointer}.import-dropzone:hover{border-color:var(--blue-2);background:#f1f8fa}.import-dropzone>svg{width:38px;height:38px;color:var(--blue)}.import-dropzone strong,.import-dropzone small{display:block}.import-dropzone small{font-size:10px;margin-top:5px}.import-dropzone input{grid-column:1/-1;background:#fff}.import-security-note{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:15px;background:linear-gradient(135deg,#edf7eb,#edf7fb)}.import-security-note p{margin-top:6px;color:var(--muted);line-height:1.6}

@media(max-width:1180px){
  :root{--sidebar:244px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-grid{grid-template-columns:1fr}.filter-bar-assets{grid-template-columns:2fr 1fr 1fr auto}.filter-bar-assets .btn-light{grid-column:4}
  .request-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.request-filters .filter-search{grid-column:span 2}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-grid-3{grid-template-columns:1fr 1fr}
  .queue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ring-card{grid-template-columns:125px 1fr}.metric-ring{width:120px}.report-visual-grid{grid-template-columns:1fr}.asset-report-grid{grid-template-columns:1fr}
  .security-filter-grid{grid-template-columns:repeat(3,1fr)}.security-filter-actions{grid-column:span 3}
  .notification-preference-form{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .sidebar{left:12px;top:12px;bottom:12px;width:min(320px,calc(100vw - 24px));transform:translateX(calc(-100% - 30px));transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.sidebar-close,.menu-toggle{display:grid}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(9,35,46,.38);backdrop-filter:blur(3px);z-index:35;opacity:0;pointer-events:none;transition:.25s}.sidebar-overlay.open{opacity:1;pointer-events:auto}.main{margin:0;width:100%;padding:12px 14px 70px}.topbar{top:10px}.content{margin-top:18px}.public-header{padding:18px 22px}.public-menu-toggle{display:grid!important}.public-nav{position:absolute;right:18px;top:76px;z-index:20;width:min(280px,calc(100vw - 36px));display:none;align-items:stretch;gap:5px;padding:12px;background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow)}.public-nav.open{display:grid}.public-nav>a:not(.btn){padding:12px;border-radius:11px}.public-nav>a:hover{background:#f4f8f9}.hero,.auth-grid,.identify-card,.grid-2{grid-template-columns:1fr}.hero{min-height:auto;padding-top:44px}.hero-panel{min-height:280px}.identify-form{grid-template-columns:1fr}.auth-card{max-width:none;justify-self:stretch}.filter-bar,.filter-bar-assets{grid-template-columns:1fr 1fr}.filter-search{grid-column:span 2}.filter-bar-assets .btn-light{grid-column:auto}.page-title-actions{align-items:flex-start}
  .request-filters{grid-template-columns:1fr 1fr}.request-filters .filter-search{grid-column:span 2}.area-grid{grid-template-columns:1fr}
  .report-kpi-grid,.report-grid-3{grid-template-columns:1fr}
  .import-steps{grid-template-columns:1fr 1fr}.import-summary-grid{grid-template-columns:1fr}
  .report-section-heading{align-items:flex-start;flex-direction:column}.report-section-heading p{text-align:left}.ring-card{grid-template-columns:150px 1fr}
  .push-settings{grid-template-columns:1fr}.push-settings-actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.push-settings-actions small{grid-column:1/-1}
}
@media(max-width:720px){
  .public-main{padding:18px 16px 60px}.public-header{padding:15px 16px}.brand small{white-space:normal}.public-header .institutional-logo{width:148px}.public-header .product-wordmark{display:none}.hero h1,.showcase h1{font-size:44px}.service-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}.form-grid,.form-grid-3{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.form-section{padding:17px}.form-card,.card,.inventory-section{padding:18px}.page-title,.card-toolbar,.ticket-header{flex-direction:column;align-items:stretch}.page-title-actions .btn{align-self:flex-start}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.detail{grid-template-columns:1fr;gap:5px}.detail dd{margin-bottom:10px}.user-pill>div{display:none}.topbar .install-app{width:40px;min-height:40px;padding:9px}.topbar .install-app span{display:none}.filter-bar,.filter-bar-assets{grid-template-columns:1fr}.filter-search{grid-column:auto}.filter-bar .btn{width:100%}.spec-grid,.asset-meta{grid-template-columns:1fr 1fr}
  .request-filters{grid-template-columns:1fr}.request-filters .filter-search{grid-column:auto}.score-grid,.check-grid{grid-template-columns:1fr 1fr}
  .health-band-grid{grid-template-columns:1fr 1fr}
  .import-warning-list{grid-template-columns:1fr}.import-confirm{align-items:stretch;flex-direction:column}.import-confirm .actions{width:100%}.import-confirm .actions form,.import-confirm .actions .btn{width:100%}
  .donut-layout{grid-template-columns:1fr 1fr}.report-live{align-self:flex-start}
  .queue-grid{grid-template-columns:1fr 1fr}.notification-item{grid-template-columns:auto 1fr}.notification-actions{grid-column:1/-1}.notification-actions .btn{width:100%}.notification-heading{display:grid;gap:4px}.conformity-options{grid-template-columns:1fr}
  .responsive-table{display:block}.responsive-table thead{display:none}.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{margin-bottom:14px;border:1px solid var(--border);border-radius:15px;padding:7px 13px;background:#fff}.responsive-table td{display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--border);overflow-wrap:anywhere}.responsive-table td:last-child{border-bottom:0}.responsive-table td::before{content:attr(data-label);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.responsive-table td.empty{display:block;text-align:center;border:0}.responsive-table td.empty::before{display:none}
  .security-filter-grid{grid-template-columns:1fr 1fr}.security-filter-actions{grid-column:1/-1}.audit-event>summary{grid-template-columns:72px 1fr}.audit-badges{grid-column:1/-1;justify-content:flex-start}.audit-diff{grid-template-columns:1fr}.catalog-actions{justify-content:flex-start}
  .notification-preference-form{grid-template-columns:1fr 1fr}.notification-preference-form>.btn{width:100%}.toast-stack{top:max(10px,env(safe-area-inset-top));right:10px;width:calc(100vw - 20px)}
}
@media(max-width:520px){
  .service-grid,.stats-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.brand-mark-xl{width:82px;height:82px;font-size:46px}.app-icon-xl{width:94px;height:94px;border-radius:23px}.identify-card{padding:22px}.topbar{padding:10px 12px;min-height:66px}.topbar-left small{font-size:10px}.user-avatar{width:38px;height:38px}.page-title h1{font-size:31px}.asset-card-head{grid-template-columns:auto 1fr}.asset-card-head>.badge{grid-column:1/-1;justify-self:start}.spec-grid,.asset-meta{grid-template-columns:1fr}.auth-card{padding:18px}.brand-login{display:grid}.login-institutional-logo{width:176px;padding:0 0 12px;border:0;border-bottom:1px solid var(--border)}.feature-list{grid-template-columns:1fr}.pin-box{padding:15px 20px}.pin-box strong{font-size:28px}.public-footer{font-size:12px}
  .score-grid,.check-grid{grid-template-columns:1fr}.health-summary{grid-template-columns:1fr}.health-score{margin:auto}
  .ring-card,.donut-layout{grid-template-columns:1fr}.ring-card{text-align:center}.metric-ring{margin:auto}.profile-card>summary{grid-template-columns:auto 1fr}.profile-status{grid-column:1/-1;grid-template-columns:auto auto;justify-content:space-between;width:100%}.workload-summary{grid-template-columns:1fr}
  .import-steps{grid-template-columns:1fr}.import-dropzone{grid-template-columns:1fr;text-align:center}.import-dropzone>svg{margin:auto}
  .queue-grid{grid-template-columns:1fr}
  .security-filter-grid{grid-template-columns:1fr}.security-filter-actions{grid-column:auto;display:grid}.security-filter-actions .btn{width:100%}.audit-detail dl{grid-template-columns:1fr;gap:4px}.audit-detail dd{margin-bottom:8px}.security-meta{display:grid}.security-title .page-title-actions{display:grid;width:100%}.security-title .btn{width:100%}
  .push-settings-main{grid-template-columns:1fr}.push-settings-icon{width:48px;height:48px}.push-settings-actions{grid-template-columns:1fr}.push-settings-actions small{grid-column:auto}.notification-preference-form{grid-template-columns:1fr}.app-modal-frame{grid-template-columns:1fr}.app-modal-icon{width:44px;height:44px}.app-modal-actions{display:grid;grid-template-columns:1fr 1fr}.app-modal-actions .btn{width:100%}
  .push-device-row{grid-template-columns:auto 1fr}.push-device-row form{grid-column:1/-1}.push-device-row form .btn{width:100%}
  .standalone-error{padding:14px}.error-card{padding:37px 20px;border-radius:27px;margin:14px auto}.error-page{padding:42px 20px}.error-card h1{font-size:36px}.error-card>p{font-size:14px}.error-illustration{transform:scale(.86);margin-bottom:14px}.error-actions{display:grid;justify-content:stretch}.error-actions .btn{width:100%}.error-reference{width:100%}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
