.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:var(--sidebar-width);height:100vh;overflow:auto;background:linear-gradient(180deg,var(--itp-gunmetal-dark),var(--itp-gunmetal));color:#fff;padding:18px 16px;box-shadow:12px 0 28px rgba(32,38,42,.14);z-index:30}.brand{display:flex;align-items:center;gap:10px;color:#fff;padding:4px 4px 16px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14)}.brand-logo{width:160px;max-height:52px;object-fit:contain;background:#fff;border-radius:12px;padding:7px 10px}.brand-text{font-weight:800}.brand-text small{display:block;color:rgba(255,255,255,.66);font-size:11px;font-weight:500}.sidebar-section-title{margin:18px 10px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.48)}.nav-group{display:grid;gap:4px}.nav-link{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.88);padding:10px 12px;border-radius:12px;font-weight:700}.nav-link:hover{background:rgba(255,255,255,.1);color:#fff}.nav-link span{width:22px;text-align:center}.main-content{flex:1;min-width:0}.topbar{height:var(--topbar-height);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--itp-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.topbar-title{display:flex;flex-direction:column}.topbar-title strong{font-size:15px}.topbar-title span{font-size:12px;color:var(--itp-muted)}.topbar-actions{display:flex;gap:8px;align-items:center}.mobile-menu{display:none}.global-search{width:min(360px,34vw);display:flex;align-items:center;gap:8px;background:var(--itp-bg);border:1px solid var(--itp-border);border-radius:999px;padding:8px 12px;color:var(--itp-muted)}.global-search input{border:0;background:transparent;outline:0;width:100%}.page-content{padding:28px;max-width:1680px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-kicker{display:inline-flex;font-size:12px;font-weight:900;color:var(--itp-orange);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.page-title{margin:0;font-size:30px;line-height:1.25;color:var(--itp-gunmetal-dark);letter-spacing:-.02em}.page-description{margin:6px 0 0;max-width:760px;color:var(--itp-muted)}.page-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:20px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.auth-page,.public-page{min-height:100vh;display:grid;place-items:center;padding:34px;background:radial-gradient(circle at top left,rgba(244,127,42,.22),transparent 35%),linear-gradient(135deg,#fff,#fff5ee 58%,#f6f8fa)}.auth-card{width:min(560px,100%);background:rgba(255,255,255,.96);border:1px solid var(--itp-border);border-radius:28px;padding:38px;box-shadow:var(--shadow-lg)}.auth-card-wide{width:min(980px,100%)}.auth-logo{display:block;margin:0 auto 20px;width:210px;max-height:70px;object-fit:contain}.auth-title{text-align:center;margin:0 0 6px;font-size:28px}.auth-subtitle{text-align:center;margin:0 0 26px;color:var(--itp-muted)}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid,.grid-3{grid-template-columns:1fr}}@media(max-width:860px){.sidebar{position:fixed;transform:translateX(-105%);transition:.2s}body.sidebar-open .sidebar{transform:translateX(0)}.mobile-menu{display:inline-flex}.global-search{display:none}.topbar{padding:0 14px}.page-content{padding:18px}.page-header{flex-direction:column}.grid-2,.kpi-grid{grid-template-columns:1fr}}html[dir=rtl] .app-shell{flex-direction:row-reverse}html[dir=rtl] th,html[dir=rtl] td{text-align:right}@media(max-width:860px){html[dir=rtl] .sidebar{right:0;left:auto;transform:translateX(105%)}html[dir=rtl] body.sidebar-open .sidebar{transform:translateX(0)}}
