/* UI UX Pro Max: data-dense dashboard adapted to supplied brand. */
:root{--paper:#f5f6fa;--surface:#ffffff;--wash:#eef0f6;--ink:#202638;--muted:#5e667a;--rule:#dce0eb;--accent:#8B5CF6;--accent-hover:#6D28D9;--accent-ink:#ffffff;--tint:#F1EAFE;--shadow:0 6px 24px #20263808;--nav-ink:#444c62}
body{font-size:16px}.brand{gap:14px}.brand-logo{width:40px;height:40px}.brand small{letter-spacing:.12em;font-size:10px}.brand>span{line-height:1.4}.eyebrow{letter-spacing:.1em;color:var(--muted)}
.auth-panel{background:var(--paper);color:var(--ink)}.auth-form{max-width:420px;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:18px;padding:32px;box-shadow:var(--shadow)}.auth-form h2{font-size:28px}.auth-form>.muted{margin-bottom:28px}.auth-help{margin:24px 0 28px}.identity-panel{background:var(--surface);color:var(--ink)}.identity-copy h1{font-size:clamp(32px,3.2vw,46px);line-height:1.4}.identity-copy>.eyebrow{color:var(--accent)}.module-index{margin-top:40px}.module-index>div{padding:20px 0}.module-index strong{font-size:16px}.module-index small{font-size:13px}.module-index span{color:var(--accent)}.local-note{font-size:12px}.button{border-radius:8px;min-height:46px}.full{justify-content:center;gap:24px}input,select{border-radius:8px;background:var(--surface);color:var(--ink)}
.sidebar .brand{margin-bottom:28px}.nav-label{font-size:12px;letter-spacing:.05em;margin-top:24px}.nav-link{font-size:14px;min-height:46px;color:var(--nav-ink);gap:12px;padding:10px 14px;margin-bottom:4px}.nav-link.selected{background:var(--tint);color:var(--accent)}.nav-icon{display:block;width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.nav-link>span{display:flex;width:20px}.topbar{min-height:76px;color:var(--ink)}.user-area{gap:12px}.avatar{background:var(--tint);color:var(--accent)}.content{padding:32px 24px}.page-heading{margin-bottom:28px}.page-heading h1{font-size:28px;margin-bottom:10px}.page-heading .eyebrow{font-size:11px;margin-bottom:10px}.page-heading p{font-size:14px}.section-title{font-size:15px}.center-card{border-radius:12px;padding:24px;box-shadow:var(--shadow);transition:border-color .18s,background-color .18s}.center-card:hover{background:var(--paper);color:var(--ink)}.card-top{margin-bottom:28px}.center-card h2{font-size:24px}.center-card p{min-height:44px;font-size:14px}.card-bottom{margin-top:20px;padding-top:18px}.module-number{font-size:12px}.tag{font-size:12px;padding:5px 10px;border-radius:6px}.account-strip{border:1px solid var(--rule);background:var(--surface);color:var(--ink);padding:24px;border-radius:12px;margin-top:24px}.panel,.user-list,.event-list{border-radius:12px;box-shadow:var(--shadow)}.panel{padding:28px}.user-row{padding:22px 24px}.user-row:hover,.event-row:hover{background:var(--paper);color:var(--ink)}.user-info h2{font-size:16px}.user-meta{font-size:14px}.user-access small,.event-row time,.event-row small{font-size:13px}.empty-state{border-radius:12px}.app-footer{font-size:12px;background:var(--paper);color:var(--muted)}dialog{border-radius:14px;padding:28px}.notice{border-radius:8px}.tender-heading h1{font-size:28px}.tender-frame{border-radius:12px}.sidebar-foot{border-top:1px solid var(--rule);padding-top:20px}
@media(min-width:64rem){.app-layout{grid-template-columns:248px minmax(0,1fr)}.sidebar{padding:28px 16px}.content{padding:36px 40px}.auth-panel{padding:48px}.identity-panel{padding:48px 64px}}
@media(max-width:47.99rem){.auth-panel{padding:24px 16px}.auth-form{padding:24px 20px}.sidebar{padding:20px 16px}.sidebar .brand{margin-bottom:16px}.sidebar nav{gap:4px}.nav-link{padding:8px 10px;font-size:13px}.content{padding:28px 20px}.topbar{padding:14px 20px}.page-heading h1{font-size:26px}.account-strip{padding:20px}.user-row{padding:20px}.panel{padding:20px}dialog{padding:24px}.auth-help{font-size:13px}.tender-heading h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Brand atmosphere: static light layers leave data surfaces quiet. */
:root{--paper:#f7f5fc;--accent-text:#6D28D9;--shadow:0 8px 28px #552b8410}
body{background:#f7f5fc}
.app-main{background:radial-gradient(ellipse 650px 400px at 100% 0%,#8b5cf619,transparent 75%),radial-gradient(ellipse 540px 400px at 0% 48%,#c4b5fd20,transparent 75%),linear-gradient(135deg,#fbfaff,#f5f4fb 60%,#faf6fb)}
.content{background-image:radial-gradient(#8b5cf612 .7px,transparent .7px);background-size:24px 24px}
.topbar{background:#ffffffeb;border-bottom-color:#8b5cf61c}
.sidebar{background:linear-gradient(170deg,#fff 65%,#f3edfe);border-right-color:#8b5cf622}
.nav-link.selected{color:var(--accent-text);box-shadow:inset 3px 0 var(--accent)}
.page-heading{border-left:3px solid var(--accent);padding-left:18px}
.center-card{background:linear-gradient(145deg,#fff 60%,#faf7ff);border-color:#8b5cf62b;position:relative;overflow:hidden}
.center-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8B5CF6,#c4b5fd,transparent)}
.center-card:hover{border-color:var(--accent);background:#fcfaff}
.card-bottom>span:last-child,.identity-copy>.eyebrow,.module-index span,.avatar{color:var(--accent-text)}
.auth-panel{background:radial-gradient(ellipse at 85% 12%,#8b5cf62e,transparent 55%),radial-gradient(ellipse at 0% 90%,#f9a8d424,transparent 50%),linear-gradient(145deg,#f8f5ff,#f4f3fc)}
.identity-panel{background:radial-gradient(ellipse at 10% 20%,#8b5cf61c,transparent 60%),linear-gradient(150deg,#fff,#faf7ff);position:relative;overflow:hidden}
.identity-panel::after{content:'';position:absolute;width:390px;height:390px;border:1px solid #8b5cf626;border-radius:50%;right:-210px;bottom:110px;box-shadow:0 0 0 52px #8b5cf606,0 0 0 104px #8b5cf604;pointer-events:none}
.identity-panel>*{position:relative;z-index:1}.auth-form{border-color:#8b5cf629;box-shadow:0 20px 60px #6135a514}
.app-footer{background:transparent}.tender-frame{background:#f8f6fc}

/* Original brand artwork reused as decorative CSS, never altered. */
.identity-panel::after{width:540px;height:560px;right:-205px;bottom:60px;background:url('/static/brand-logo.png?v=1') center/contain no-repeat;opacity:.12;border:0;border-radius:0;box-shadow:none;transform:rotate(-16deg)}
.auth-panel{position:relative;isolation:isolate;overflow:hidden}
.auth-panel::before{content:'';position:absolute;width:420px;height:430px;right:-160px;top:-110px;background:url('/static/brand-logo.png?v=1') center/contain no-repeat;opacity:.13;transform:rotate(24deg);pointer-events:none;z-index:-1}
.auth-form{position:relative;background:#fffffff5}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #8b5cf61c}.auth-brand img{width:48px;height:48px;object-fit:contain;flex-shrink:0}.auth-brand span{font-size:18px;font-weight:700;line-height:1.5}.auth-brand small{display:block;font-size:9px;letter-spacing:.16em;font-weight:400;color:var(--muted)}
@media(max-width:47.99rem){.auth-brand{margin-bottom:22px;padding-bottom:18px}.auth-brand img{width:42px;height:42px}.auth-panel::before{width:280px;height:290px;right:-95px;top:-65px;opacity:.1}}

/* One continuous brand canvas; content columns share a centered composition. */
.auth-layout{position:relative;isolation:isolate;background:radial-gradient(ellipse at 70% 25%,#8b5cf621,transparent 58%),radial-gradient(ellipse at 36% 92%,#f9a8d41c,transparent 55%),linear-gradient(125deg,#fcfaff,#f6f2ff 65%,#faf7ff)}
.auth-layout::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/static/brand-logo.png?v=1') 52% 78%/580px auto no-repeat;opacity:.075;pointer-events:none}
.identity-panel,.auth-panel{background:transparent;border:0;overflow:visible;isolation:auto}
.identity-panel::after,.auth-panel::before{display:none}
.auth-form{box-shadow:0 24px 64px #6135a512;background:#ffffffed}
@media(min-width:64rem){
.auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;padding:44px max(40px,calc((100vw - 1120px)/2))}
.identity-panel{padding:0;display:flex;flex-direction:column;justify-content:space-between}
.identity-copy{padding:44px 0}.identity-copy h1{font-size:44px}.module-index{margin-top:32px}.module-index>div{padding:16px 0}
.auth-panel{padding:32px 0;justify-content:flex-end}.auth-form{max-width:420px}.auth-brand{display:none}
}
@media(max-width:63.99rem){.auth-layout::before{background-position:80% 8%;background-size:380px}.auth-panel{padding:32px 20px}}
@media(min-width:64rem){.identity-panel{min-height:0}}

/* Wide screens use the available canvas instead of a narrow centered strip. */
@media(min-width:64rem){
.auth-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(48px,6vw,112px);padding:40px clamp(40px,5vw,96px)}
.identity-copy{max-width:640px}.identity-copy h1{font-size:clamp(44px,3.5vw,64px);line-height:1.35}.identity-copy>p{font-size:18px}.module-index{max-width:560px}.module-index>div{padding:20px 0}
.auth-panel{justify-content:center}.auth-form{max-width:460px;padding:36px}
.auth-layout::before{background-size:clamp(580px,46vw,850px);background-position:48% 76%}
}

.brand .brand-full{width:200px;height:auto;object-fit:contain}.identity-panel .brand-full{width:260px}.auth-brand .brand-full{width:210px;height:auto}.sidebar .brand{padding:0}.auth-brand{justify-content:center}@media(max-width:47.99rem){.brand .brand-full{width:180px}.auth-brand .brand-full{width:200px;height:auto}}

@media(min-width:64rem){
.sidebar{padding-bottom:0}.sidebar-foot{margin-left:-16px;margin-right:-16px;padding:0 24px;height:60px;min-height:60px;display:flex;align-items:center;border-top:1px solid var(--rule)}.sidebar-foot p{margin:0;font-size:12px;line-height:1.65}
.app-footer{height:60px;min-height:60px;padding-top:0;padding-bottom:0;display:flex;align-items:center;justify-content:space-between}
}

/* Company mark above a distinct department signature. */
.brand{align-items:flex-start;flex-direction:column;gap:12px}.department-brand{display:block;border-left:2px solid var(--accent);padding-left:10px;font-size:17px;font-weight:600;line-height:1.35;letter-spacing:.08em;color:var(--ink)}.department-brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.1em;color:var(--muted);margin-top:4px}.sidebar .brand{gap:10px}.sidebar .department-brand{font-size:15px;margin-left:8px}.sidebar .brand{margin-bottom:18px}.auth-brand{flex-direction:column;align-items:flex-start;gap:14px}.auth-brand .department-brand{font-size:17px}.auth-brand .department-brand small{font-size:9px}.identity-panel .department-brand{font-size:18px}

/* Compact company signature, balanced with department name. */
.brand .brand-full{width:164px}.identity-panel .brand-full{width:210px}.auth-brand .brand-full{width:176px}.brand,.sidebar .brand{gap:8px}.department-brand{font-size:15px}.identity-panel .department-brand{font-size:16px}.sidebar .department-brand{margin-left:5px;font-size:14px}.auth-brand{gap:10px}.auth-brand .department-brand{font-size:15px}
@media(max-width:47.99rem){.brand .brand-full{width:154px}.auth-brand .brand-full{width:166px}}

/* Login company and department form a single horizontal signature. */
.identity-panel .brand{flex-direction:row;align-items:center;gap:18px}.identity-panel .brand-full{width:184px}.identity-panel .department-brand{border-left:1px solid #8b5cf640;padding-left:18px;font-size:16px;white-space:nowrap;letter-spacing:.04em}
.auth-brand{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}.auth-brand .brand-full{width:142px}.auth-brand .department-brand{border-left:1px solid #8b5cf640;padding-left:12px;font-size:15px;white-space:nowrap;letter-spacing:0}.auth-brand .department-brand small{font-size:8px;letter-spacing:.02em}
@media(max-width:360px){.auth-brand{gap:8px}.auth-brand .brand-full{width:118px}.auth-brand .department-brand{padding-left:8px;font-size:14px}.auth-brand .department-brand small{font-size:7px}}

.monthly-report-frame{display:block;width:100%;height:calc(100dvh - 230px);min-height:620px;border:1px solid var(--rule);border-radius:12px;background:#fff}@media(max-width:600px){.monthly-report-frame{height:75dvh;min-height:520px}}

/* Module permissions share the same labels in account creation and editing. */
.permission-fields .permission-group{padding:12px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);margin-bottom:12px}
.permission-group h3{font-size:14px;margin:0 0 6px;color:var(--muted)}
.permission-group .check{gap:10px;line-height:1.6}
.permission-group .check input{flex-shrink:0}
.permission-fields>p{margin:4px 0 0;font-size:12px}
.user-access .access-module{display:inline-block;max-width:100%;padding:2px 8px;margin:2px 6px 2px 0;border-radius:4px;background:var(--tint);color:var(--muted);font-size:12px;overflow-wrap:anywhere}

.audit-filter{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr)) minmax(180px,1.25fr) auto;align-items:end;gap:16px;margin-bottom:24px}
.audit-filter-actions{display:flex;gap:10px;flex-wrap:wrap}
.audit-filter>p{grid-column:1/-1;margin:0;font-size:12px}
.audit-result-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.audit-result-summary p,.audit-empty p:last-child{margin:0}
.audit-pagination{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
@media(max-width:1100px){.audit-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.audit-filter{grid-template-columns:minmax(0,1fr)}.audit-filter-actions>.button{flex:1}}
