@font-face{font-family:'DGBaysan';src:url('fonts/DG Baysan Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DGBaysan';src:url('fonts/DG Baysan Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'DGBaysan';src:url('fonts/DG Baysan Semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'DGBaysan';src:url('fonts/DG Baysan Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--blue:#2959A6;--blue-2:#1f4b91;--blue-soft:#eef4ff;--yellow:#FEC12C;--yellow-soft:#fff8df;--ink:#172238;--muted:#768195;--bg:#f4f7fb;--card:#fff;--border:#e4eaf3;--success:#17875f;--success-soft:#eaf8f2;--danger:#c74848;--danger-soft:#fff0f0;--shadow:0 18px 45px rgba(31,75,145,.10);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 90% 0,rgba(254,193,44,.09),transparent 26%),var(--bg);color:var(--ink);font-family:'DGBaysan',Tahoma,Arial,sans-serif;direction:rtl;min-height:100vh}button,input,textarea,select{font:inherit}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.02em}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:linear-gradient(180deg,#173f7b,#2959A6 55%,#224d91);color:#fff;overflow:hidden;z-index:30}.sidebar:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(254,193,44,.12);top:-95px;left:-90px}.sidebar:after{content:"";position:absolute;width:170px;height:170px;border:32px solid rgba(255,255,255,.05);border-radius:50%;bottom:-85px;right:-80px}.brand-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:10px 8px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-lockup img{width:58px;height:58px;border-radius:18px;object-fit:cover;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.16)}.brand-lockup b{display:block;font-size:21px}.brand-lockup span{display:block;font-size:12px;color:#dce8fb;margin-top:2px}.sidebar-user{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:20px 2px;padding:13px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10)}.sidebar-user b,.sidebar-user small{display:block}.sidebar-user small{opacity:.72;margin-top:2px}.avatar{width:43px;height:43px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--yellow),#ffd96e);color:var(--blue);font-weight:700;box-shadow:0 6px 18px rgba(254,193,44,.22)}.nav{position:relative;z-index:1;display:grid;gap:7px}.nav-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:12px 14px;border-radius:14px;color:#e9f1ff;font-weight:600;transition:.2s ease;border:1px solid transparent}.nav-link:hover{transform:translateX(-3px);background:rgba(255,255,255,.08)}.nav-link.active{background:#fff;color:var(--blue);box-shadow:0 10px 24px rgba(14,40,79,.18)}.nav-badge{min-width:24px;height:24px;padding:0 7px;border-radius:99px;display:grid;place-items:center;background:var(--yellow);color:var(--blue);font-size:12px}.sidebar-action-count{position:relative;z-index:1;margin-top:18px;padding:13px 14px;border-radius:16px;background:rgba(254,193,44,.12);border:1px solid rgba(254,193,44,.34);display:flex;align-items:center;justify-content:space-between}.sidebar-action-count b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--yellow);color:var(--blue)}.logout-link{position:absolute;bottom:24px;right:18px;left:18px;z-index:2;text-decoration:none;color:#fff;padding:11px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.15);text-align:center;transition:.2s}.logout-link:hover{background:rgba(255,255,255,.08)}.content{padding:30px 34px 50px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.topbar h1{font-size:30px;margin:2px 0 4px}.eyebrow{display:block;color:var(--blue);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:12px}.userbox{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:0 7px 20px rgba(31,75,145,.05)}.userbox .mini{margin-top:1px}.bell{position:relative;width:46px;height:46px;border-radius:15px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;text-decoration:none;box-shadow:0 7px 20px rgba(31,75,145,.05);font-size:18px;transition:.2s}.bell:hover{transform:translateY(-2px);border-color:#cbd8ef}.bell b{position:absolute;top:-7px;left:-7px;min-width:23px;height:23px;padding:0 6px;border-radius:99px;background:var(--yellow);color:var(--blue);display:grid;place-items:center;font-size:11px;border:3px solid var(--bg)}.muted{color:var(--muted)}.mini{font-size:12px;color:var(--muted)}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}.card{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 9px 28px rgba(31,75,145,.055)}.kpi{padding:21px;position:relative;overflow:hidden;transition:.22s}.kpi:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.kpi:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--blue-soft);left:-35px;bottom:-42px}.kpi.kpi-yellow:after{background:var(--yellow-soft)}.kpi span{display:block;color:var(--muted);font-weight:600}.kpi b{display:block;font-size:35px;color:var(--blue);margin:7px 0 1px}.kpi small{color:#9aa3b0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:8px 0 16px}.section-title h2,.section-title h3{margin:3px 0 0}.section-title.compact{align-items:center;margin-top:18px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:22px;padding:20px;transition:.22s;overflow:hidden;box-shadow:0 8px 28px rgba(31,75,145,.045)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d7e2f4}.project-card.has-action{border-color:rgba(254,193,44,.75);box-shadow:0 10px 30px rgba(254,193,44,.12)}.action-ribbon{margin:-20px -20px 17px;padding:9px 15px;background:linear-gradient(90deg,var(--yellow-soft),#fff);color:#795900;font-size:12px;font-weight:700;border-bottom:1px solid rgba(254,193,44,.38);display:flex;align-items:center;gap:8px}.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 0 rgba(254,193,44,.6);animation:pulse 1.7s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(254,193,44,.58)}70%{box-shadow:0 0 0 9px rgba(254,193,44,0)}100%{box-shadow:0 0 0 0 rgba(254,193,44,0)}}.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.project-card-head h3{font-size:20px;margin-bottom:5px}.project-card-head p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:0}.project-meta{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0 14px;padding:12px 0;border-top:1px solid #edf1f7;border-bottom:1px solid #edf1f7;color:var(--muted);font-size:13px}.project-meta b{color:var(--ink)}.progress-line{display:flex;align-items:center;gap:10px}.progress{height:10px;flex:1;background:#edf1f6;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),#4d7ac5);position:relative}.progress>span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);animation:shine 2.6s infinite}@keyframes shine{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}.progress.large{height:13px;margin-top:18px}.project-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.required-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px -20px -20px;padding:13px 16px;background:var(--yellow);color:#563e00;text-decoration:none;transition:.2s}.required-strip:hover{filter:brightness(.98)}.required-strip span{display:flex;flex-direction:column}.required-strip small{opacity:.75;margin-top:2px}.required-strip strong{font-size:12px;white-space:nowrap}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;white-space:nowrap}.badge.ok{background:var(--success-soft);color:#11714f}.badge.warn{background:var(--yellow-soft);color:#7b5a00}.badge.info{background:var(--blue-soft);color:var(--blue)}.badge.muted{background:#eff2f5;color:#738095}.btn{border:0;border-radius:13px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;cursor:pointer;transition:.2s;line-height:1.2}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--blue),#3a6bb9);color:#fff;box-shadow:0 8px 20px rgba(41,89,166,.18)}.btn.secondary{background:var(--blue-soft);color:var(--blue)}.btn.warning{background:var(--yellow);color:#5c4300}.btn.success{background:var(--success-soft);color:var(--success)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.dark{background:#172238;color:#fff}.btn.ghost{background:#f6f8fb;color:#667085}.btn.sm{padding:8px 11px;font-size:12px}.required-actions-panel{padding:20px;border-radius:24px;background:linear-gradient(135deg,#fffaf0,#fff);border:1px solid rgba(254,193,44,.52);margin-bottom:22px;box-shadow:0 10px 32px rgba(254,193,44,.11)}.action-count{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--yellow);color:var(--blue);font-size:18px;font-weight:700}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.action-card{background:#fff;border:1px solid rgba(254,193,44,.46);border-radius:17px;padding:15px;text-decoration:none;display:flex;flex-direction:column;transition:.2s}.action-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(254,193,44,.14)}.action-card .action-type{font-size:11px;font-weight:700;color:#8c6500}.action-card b{font-size:16px;margin:4px 0}.action-card small{color:var(--muted);line-height:1.6}.action-card strong{margin-top:10px;color:var(--blue);font-size:12px}.login-action-alert{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 48px 14px 16px;margin-bottom:18px;border-radius:18px;background:linear-gradient(90deg,var(--yellow-soft),#fff);border:1px solid rgba(254,193,44,.55);box-shadow:0 8px 22px rgba(254,193,44,.11);animation:slideIn .45s ease}.login-action-alert>div{display:flex;align-items:center;gap:11px}.login-action-alert b,.login-action-alert span{display:block}.login-action-alert span{color:#7d6a32;font-size:13px;margin-top:2px}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.alert-icon{width:34px;height:34px;border-radius:12px;background:var(--yellow);color:var(--blue)!important;display:grid!important;place-items:center;font-size:18px!important;font-weight:800}.dismiss{position:absolute;right:14px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:24px;color:#987300;cursor:pointer}.flash{padding:12px 15px;border-radius:15px;margin-bottom:18px;font-weight:600}.flash.ok{background:var(--success-soft);color:var(--success);border:1px solid #cdeee0}.flash.err{background:var(--danger-soft);color:var(--danger);border:1px solid #ffd8d8}.form-shell{display:grid;grid-template-columns:.7fr 1.7fr;gap:22px;align-items:start}.form-intro{padding:24px 4px;position:sticky;top:25px}.form-intro h2{font-size:28px;margin:7px 0}.form-intro p{color:var(--muted);line-height:1.9}.form-card{padding:24px}.field{margin-bottom:15px}.field label{display:block;font-weight:700;margin-bottom:7px;font-size:13px}.input,textarea,select{width:100%;border:1px solid var(--border);border-radius:13px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;transition:.18s}.input:focus,textarea:focus,select:focus{border-color:#8aa7d7;box-shadow:0 0 0 4px rgba(41,89,166,.08)}textarea{min-height:92px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.item-builder{position:relative;border:1px dashed #c8d5e9;background:#fbfdff;border-radius:18px;padding:18px 18px 12px;margin:12px 0}.item-number{position:absolute;top:-11px;right:16px;width:28px;height:28px;border-radius:9px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.actions{display:flex;gap:9px;flex-wrap:wrap}.form-actions{justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid #edf1f6}.project-action-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 17px;margin-bottom:16px;border-radius:17px;background:var(--yellow);color:#5d4600;box-shadow:0 10px 28px rgba(254,193,44,.19)}.project-action-banner>div{display:flex;align-items:center;gap:11px}.project-action-banner b,.project-action-banner span{display:block}.project-action-banner>span{font-size:12px}.project-hero{padding:24px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.project-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.project-info-grid>div{padding:13px 14px;border-radius:16px;background:#f8fafe;border:1px solid #edf1f6}.project-info-grid span,.project-info-grid small,.project-info-grid b{display:block}.project-info-grid span,.project-info-grid small{color:var(--muted);font-size:12px}.project-info-grid b{margin:4px 0;font-size:15px}.hero-action{margin-top:18px}.items-stack{display:grid;gap:13px}.item-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;padding:17px;background:#fff;border:1px solid var(--border);border-radius:20px;transition:.2s}.item-card:hover{box-shadow:0 10px 28px rgba(31,75,145,.06)}.item-card.item-needs-action{border-color:rgba(254,193,44,.75);box-shadow:inset -4px 0 0 var(--yellow)}.item-seq{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:700}.item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.item-head h3{margin-bottom:3px}.item-head p{margin-bottom:0}.timeline-meta{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:11px}.timeline-meta b{color:#576174}.file-link{display:inline-flex;align-items:center;gap:6px;color:var(--blue);background:var(--blue-soft);padding:7px 10px;border-radius:11px;text-decoration:none;font-size:12px}.item-actions{margin-top:12px}.upload-action,.approve-action{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.approve-action .input{width:280px}.users-layout{display:grid;grid-template-columns:.7fr 1.5fr;gap:18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:right;padding:12px;border-bottom:1px solid #edf1f6;vertical-align:top}.table th{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}.notifications-card{padding:22px}.notification{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 6px;border-bottom:1px solid #edf1f6}.notification:last-child{border-bottom:0}.notification.unread{background:linear-gradient(90deg,var(--yellow-soft),transparent);border-radius:14px;padding-inline:12px}.notification-icon{width:36px;height:36px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:800}.notification.unread .notification-icon{background:var(--yellow);color:var(--blue)}.notification-content b,.notification-content span{display:block}.notification-content span{font-size:11px;color:var(--muted);margin-top:3px}.empty-state{grid-column:1/-1;padding:34px;text-align:center;background:#fff;border:1px dashed #cad7ea;border-radius:20px;color:var(--muted)}.report-card{padding:26px}.report-brand{display:flex;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid var(--border)}.report-brand img{width:46px;height:46px;border-radius:14px}.report-brand b,.report-brand span{display:block}.report-brand span{font-size:11px;color:var(--muted)}.report-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.report-meta .box{padding:14px;border-radius:15px;background:#f8fafe;border:1px solid #edf1f6}.report-meta span,.report-meta b{display:block}.report-meta span{font-size:11px;color:var(--muted)}.report-meta b{margin-top:4px}.report-footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.mobile-menu{display:none}.menu-overlay{display:none}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;position:relative;overflow:hidden}.login-brand-panel{display:grid;place-items:center;padding:50px;background:linear-gradient(145deg,#1e4c92,#2959A6 65%,#3267b7);color:#fff;position:relative;overflow:hidden}.login-brand-panel:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;border:70px solid rgba(254,193,44,.10);left:-150px;top:-140px}.login-brand-panel:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.05);right:-90px;bottom:-90px}.brand-hero{position:relative;z-index:2;max-width:540px}.brand-hero img{width:112px;height:112px;object-fit:cover;border-radius:30px;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.2);margin-bottom:24px}.brand-hero>span{display:block;color:#d9e7fb;font-size:12px;letter-spacing:.18em}.brand-hero h1{font-size:44px;line-height:1.25;margin:8px 0 14px}.brand-hero p{font-size:16px;line-height:2;color:#e4edfb;max-width:470px}.hero-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.hero-pills span{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);font-size:12px}.login-form-panel{display:grid;place-items:center;padding:35px;background:radial-gradient(circle at 100% 0,rgba(254,193,44,.13),transparent 25%),#fff}.login-card{width:min(450px,100%);padding:10px}.login-logo-mobile{display:none}.login-card h2{font-size:34px;margin:5px 0 5px}.sub{color:var(--muted);line-height:1.8}.password-wrap{position:relative}.password-wrap button{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:0;background:var(--blue-soft);color:var(--blue);border-radius:9px;padding:6px 10px;cursor:pointer;font-size:11px}.login-submit{width:100%;margin-top:4px;padding:13px}.login-demo{margin-top:18px;padding:13px 14px;border-radius:15px;background:#f8fafe;border:1px dashed #c6d5eb;font-size:12px}.login-demo b,.login-demo span{display:block}.login-demo span{color:var(--muted);margin-top:4px}.login-orb{position:absolute;border-radius:50%;pointer-events:none}.orb-one{width:120px;height:120px;background:rgba(254,193,44,.17);right:44%;top:8%;filter:blur(1px);animation:float 7s ease-in-out infinite}.orb-two{width:76px;height:76px;border:14px solid rgba(41,89,166,.08);right:5%;bottom:7%;animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr 1fr}.form-shell{grid-template-columns:1fr}.form-intro{position:static;padding:0}.users-layout{grid-template-columns:1fr}.login-brand-panel{padding:35px}.brand-hero h1{font-size:36px}}
@media(max-width:820px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;right:0;top:0;bottom:0;width:280px;transform:translateX(105%);transition:.25s;box-shadow:-20px 0 50px rgba(20,50,96,.24)}body.menu-open .sidebar{transform:none}.menu-overlay{position:fixed;inset:0;background:rgba(16,28,48,.35);z-index:20}body.menu-open .menu-overlay{display:block}.mobile-menu{display:grid;place-items:center;position:fixed;top:15px;right:15px;z-index:19;width:44px;height:44px;border-radius:14px;border:0;background:var(--blue);color:#fff;box-shadow:0 10px 25px rgba(41,89,166,.25);font-size:20px}.content{padding:76px 18px 35px}.topbar{align-items:flex-start}.top-actions .userbox>div:first-child{display:none}.project-info-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:24px}.login-logo-mobile{display:block;margin-bottom:18px}.login-logo-mobile img{width:80px;height:80px;border-radius:22px;object-fit:cover;box-shadow:0 12px 28px rgba(41,89,166,.14)}.login-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow)}}
@media(max-width:580px){.kpis,.action-grid,.row,.report-meta{grid-template-columns:1fr}.topbar{flex-direction:column;gap:12px}.top-actions{width:100%;justify-content:space-between}.topbar h1{font-size:25px}.project-card-head,.report-header,.item-head{flex-direction:column}.project-meta{display:grid;gap:7px}.section-title{align-items:flex-start}.login-action-alert,.project-action-banner{align-items:flex-start;flex-direction:column}.login-action-alert{padding-left:14px}.dismiss{top:13px;transform:none}.item-card{grid-template-columns:1fr}.item-seq{width:34px;height:34px}.approve-action .input{width:100%}.upload-action,.approve-action{align-items:stretch;flex-direction:column}.notification{grid-template-columns:38px 1fr}.notification .btn{grid-column:2}.brand-hero h1{font-size:32px}}
@media print{body{background:#fff}.sidebar,.topbar,.mobile-menu,.menu-overlay,.no-print,.login-action-alert,.project-action-banner{display:none!important}.layout{display:block}.content{padding:0}.report-page{padding:8mm}.report-card{box-shadow:none;border:0;padding:0}.table th,.table td{font-size:9px;padding:7px}.report-meta{grid-template-columns:repeat(4,1fr)}@page{size:A4 landscape;margin:10mm}}

/* ===== Responsive UI refresh / v3 ===== */
html{font-size:16px}
body{overflow-x:hidden}
img{max-width:100%}
input,textarea,select,.input{min-width:0}
.layout{grid-template-columns:clamp(245px,18vw,280px) minmax(0,1fr)}
.content{width:100%;max-width:1760px;margin-inline:auto;padding:clamp(22px,2.2vw,38px) clamp(18px,2.4vw,42px) 52px}
.topbar h1{font-size:clamp(25px,2vw,32px)}
.kpis{grid-template-columns:repeat(4,minmax(180px,1fr))}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px}
.table{min-width:680px}

/* Project creation */
.project-new-shell{grid-template-columns:minmax(235px,.56fr) minmax(0,1.8fr);gap:clamp(20px,2.5vw,38px);max-width:1480px;margin-inline:auto}
.project-new-intro{padding:30px 8px}
.project-new-intro h2{font-size:clamp(26px,2.1vw,34px);line-height:1.35}
.project-new-intro p{font-size:14px}
.form-intro-note{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:15px;border-radius:18px;background:linear-gradient(135deg,var(--yellow-soft),#fff);border:1px solid rgba(254,193,44,.42)}
.form-intro-note-icon{flex:0 0 34px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--yellow);color:var(--blue);font-weight:800}
.form-intro-note b,.form-intro-note small{display:block}
.form-intro-note b{font-size:13px;margin-bottom:4px}
.form-intro-note small{font-size:11px;line-height:1.7;color:var(--muted)}
.project-new-card{padding:clamp(18px,2.2vw,30px);overflow:visible}
.form-section{padding:clamp(17px,2vw,24px);border:1px solid #e8edf5;border-radius:20px;background:linear-gradient(180deg,#fff,#fcfdff);margin-bottom:18px}
.form-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid #edf1f6}
.form-section-head>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}
.form-section-head h3{margin:0;font-size:19px}
.form-section-head>small{font-size:11px;color:var(--muted);text-align:left}
.form-step{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.03em}
.project-description-field{margin-bottom:0}
.project-description-field textarea{min-height:105px}
.items-counter{display:flex;align-items:center;gap:6px;padding:7px 11px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}
.items-counter b{font-size:16px}
.items-counter span{font-size:11px;font-weight:700}
.items-builder-list{display:grid;gap:16px}
.item-builder{margin:0;padding:23px 19px 16px;border:1px dashed #c4d3e8;background:linear-gradient(180deg,#fbfdff,#fff);box-shadow:0 5px 18px rgba(41,89,166,.035);transition:.25s ease;scroll-margin-top:90px}
.item-builder:hover{border-color:#9db6dc;box-shadow:0 10px 26px rgba(41,89,166,.07)}
.item-builder.is-new{animation:newItemPop .55s ease;border-color:rgba(254,193,44,.9);box-shadow:0 0 0 4px rgba(254,193,44,.11),0 15px 35px rgba(41,89,166,.08)}
@keyframes newItemPop{0%{opacity:.35;transform:translateY(18px) scale(.985)}100%{opacity:1;transform:none}}
.item-number{top:-13px;right:17px;width:32px;height:32px;border-radius:10px;box-shadow:0 7px 16px rgba(41,89,166,.2)}
.item-builder-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 16px;padding-bottom:11px;border-bottom:1px solid #edf1f6}
.item-builder-title b,.item-builder-title small{display:block}
.item-builder-title b{font-size:15px;color:var(--blue)}
.item-builder-title small{font-size:10px;color:var(--muted)}
.remove-item-btn{margin-top:2px}
.add-item-zone{position:sticky;bottom:12px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:12px 14px;border:1px solid rgba(41,89,166,.15);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(31,75,145,.12);backdrop-filter:blur(12px)}
.add-item-zone small{color:var(--muted);font-size:11px;line-height:1.6}
.add-item-btn{flex:0 0 auto;background:linear-gradient(135deg,var(--yellow),#ffd45e);color:#5d4600;box-shadow:0 8px 20px rgba(254,193,44,.2);padding:10px 15px}
.add-item-btn:hover{box-shadow:0 10px 25px rgba(254,193,44,.27)}
.add-item-plus{width:25px;height:25px;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:18px;line-height:1}
.project-form-actions{position:relative;align-items:center}
.save-project-btn{min-width:210px}

/* Very large screens */
@media(min-width:1650px){
  .content{max-width:1880px}
  .project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .project-new-shell{max-width:1580px;grid-template-columns:minmax(280px,.62fr) minmax(0,1.9fr)}
}

/* Laptop / medium desktop */
@media(max-width:1320px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-grid{grid-template-columns:1fr}
  .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-new-shell{grid-template-columns:1fr;max-width:1050px}
  .project-new-intro{position:static;padding:0 4px 4px;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.6fr);column-gap:28px;align-items:center}
  .project-new-intro .eyebrow,.project-new-intro h2,.project-new-intro p{grid-column:1}
  .project-new-intro .form-intro-note{grid-column:2;grid-row:1/4;margin-top:0}
}

/* Tablet */
@media(max-width:980px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:fixed;right:0;top:0;bottom:0;width:min(310px,86vw);height:100dvh;transform:translateX(105%);transition:transform .28s ease;box-shadow:-20px 0 50px rgba(20,50,96,.24);overflow-y:auto}
  body.menu-open .sidebar{transform:none}
  .menu-overlay{position:fixed;inset:0;background:rgba(16,28,48,.42);z-index:20;backdrop-filter:blur(2px)}
  body.menu-open .menu-overlay{display:block}
  .mobile-menu{display:grid;place-items:center;position:fixed;top:14px;right:14px;z-index:31;width:46px;height:46px;border-radius:14px;border:0;background:var(--blue);color:#fff;box-shadow:0 10px 25px rgba(41,89,166,.25);font-size:20px}
  .content{max-width:none;padding:74px clamp(16px,3vw,26px) 38px}
  .topbar{margin-bottom:20px}
  .project-info-grid{grid-template-columns:1fr 1fr}
  .users-layout{grid-template-columns:1fr}
  .project-new-intro{display:block}
  .project-new-intro .form-intro-note{margin-top:16px}
  .login-page{grid-template-columns:1fr}
  .login-brand-panel{display:none}
  .login-form-panel{min-height:100dvh;padding:24px}
  .login-logo-mobile{display:block;margin-bottom:18px}
  .login-logo-mobile img{width:80px;height:80px;border-radius:22px;object-fit:cover;box-shadow:0 12px 28px rgba(41,89,166,.14)}
  .login-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
}

/* Mobile */
@media(max-width:680px){
  html{font-size:15px}
  .content{padding:72px 12px 28px}
  .topbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}
  .topbar>div:first-child{padding-inline:2px}
  .top-actions{width:100%;justify-content:space-between}
  .top-actions .userbox{flex:1;justify-content:flex-end}
  .top-actions .userbox>div:first-child{display:block}
  .topbar h1{font-size:24px}
  .kpis,.action-grid,.row,.report-meta{grid-template-columns:1fr}
  .kpis{gap:11px;margin-bottom:20px}
  .kpi{padding:17px}
  .kpi b{font-size:30px}
  .section-title{align-items:flex-start;flex-direction:column;gap:10px}
  .section-title>.btn{width:100%}
  .project-card{padding:16px;border-radius:18px}
  .action-ribbon{margin:-16px -16px 14px}
  .project-card-head,.report-header,.item-head{flex-direction:column}
  .project-card-head .badge{align-self:flex-start}
  .project-meta{display:grid;grid-template-columns:1fr;gap:6px;margin:14px 0 12px}
  .project-card-foot{align-items:stretch;flex-direction:column;gap:10px}
  .project-card-foot .btn{width:100%}
  .required-strip{margin:15px -16px -16px;align-items:flex-start;flex-direction:column}
  .login-action-alert,.project-action-banner{align-items:flex-start;flex-direction:column}
  .login-action-alert{padding:14px 14px 14px 42px}
  .dismiss{right:auto;left:12px;top:12px;transform:none}
  .project-info-grid{grid-template-columns:1fr}
  .item-card{grid-template-columns:1fr;padding:15px}
  .item-seq{width:36px;height:36px}
  .upload-action,.approve-action{align-items:stretch;flex-direction:column}
  .approve-action .input{width:100%}
  .notification{grid-template-columns:38px minmax(0,1fr);align-items:start}
  .notification .btn{grid-column:2;width:100%}
  .form-card,.project-new-card{padding:10px;border-radius:18px}
  .form-section{padding:15px 12px;border-radius:16px;margin-bottom:12px}
  .form-section-head{align-items:flex-start}
  .form-section-head>small{display:none}
  .project-new-intro{padding:0 2px}
  .project-new-intro h2{font-size:25px}
  .item-builder{padding:22px 12px 13px;border-radius:16px}
  .item-builder-title{align-items:flex-start;flex-direction:column;gap:2px}
  .add-item-zone{bottom:8px;flex-direction:column;align-items:stretch;padding:10px}
  .add-item-zone small{text-align:center}
  .add-item-btn{width:100%}
  .project-form-actions{flex-direction:column-reverse;align-items:stretch;margin-top:14px;padding-top:14px}
  .project-form-actions .btn{width:100%;min-width:0}
  .table{min-width:620px}
  .notifications-card{padding:14px}
  .report-card{padding:17px}
  .login-form-panel{padding:14px}
  .login-card{padding:20px 16px;border-radius:20px}
  .login-card h2{font-size:29px}
}

/* Small phones */
@media(max-width:420px){
  .content{padding-inline:9px}
  .mobile-menu{right:9px;top:10px;width:42px;height:42px;border-radius:12px}
  .top-actions{gap:8px}
  .bell{width:43px;height:43px;border-radius:13px}
  .userbox{padding:6px 8px}
  .userbox .avatar{width:38px;height:38px;border-radius:12px}
  .project-new-card{border-radius:16px}
  .form-section{padding:13px 10px}
  .item-builder{padding-inline:10px}
  .field label{font-size:12px}
  .input,textarea,select{padding:10px;border-radius:12px}
  .btn{padding:10px 12px}
}

/* ===== Rework, review gate, and project files / v5 ===== */
.badge.danger{background:var(--danger-soft);color:var(--danger)}
button:disabled,.btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.rework-chip{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:var(--yellow-soft);color:#815f00;font-size:11px;font-weight:700;border:1px solid rgba(254,193,44,.5)}
.current-file-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0}.file-state-label{font-size:11px;color:var(--muted);font-weight:700}
.review-gate{margin-top:16px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#fffdf6,#fff);border:1px solid rgba(254,193,44,.58);box-shadow:0 10px 26px rgba(254,193,44,.09)}
.review-gate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.review-gate-head h4{margin:4px 0 0;font-size:17px}.review-file-btn{margin-bottom:13px}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.decision-card{padding:14px;border-radius:16px;border:1px solid var(--border);background:#fff;display:grid;gap:9px}.decision-card>b{font-size:15px}.decision-card>small{color:var(--muted);line-height:1.6}.approve-decision{border-color:#cfeade;background:linear-gradient(180deg,#fff,#fbfffd)}.reject-decision{border-color:#ffdada;background:linear-gradient(180deg,#fff,#fffafa)}.attestation{display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:12px;background:var(--success-soft);color:#236b53;font-size:12px;line-height:1.7}.attestation input{margin-top:4px;accent-color:var(--success)}
.attempt-history{margin-top:14px;border:1px solid var(--border);border-radius:15px;background:#fafcff;overflow:hidden}.attempt-history summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 13px;font-weight:700;color:#506079}.attempt-history summary::-webkit-details-marker{display:none}.attempt-history summary span{font-size:11px;color:var(--blue);background:var(--blue-soft);padding:4px 8px;border-radius:99px}.attempt-list{display:grid;gap:9px;padding:0 11px 11px}.attempt-row{padding:12px;border-radius:13px;background:#fff;border:1px solid var(--border)}.attempt-row.attempt_rejected{border-color:#ffd4d4;background:#fffafa}.attempt-row.attempt_approved{border-color:#caebdc;background:#fbfffd}.attempt-row-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.attempt-meta{display:flex;gap:11px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:8px 0}.rejection-note,.approval-note{margin-top:9px;padding:9px 10px;border-radius:11px;font-size:12px;line-height:1.7}.rejection-note{background:var(--danger-soft);color:#963d3d}.approval-note{background:var(--success-soft);color:#286d57}
.project-files-section{margin-top:26px}.file-groups{display:grid;grid-template-columns:1fr 1fr;gap:15px}.file-group{padding:18px}.file-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.file-group-title>div{display:flex;align-items:center;gap:8px}.file-group-title h3{margin:0;font-size:18px}.file-group-title>b{min-width:32px;height:32px;padding:0 8px;border-radius:10px;display:grid;place-items:center;background:#f2f5f9;color:var(--blue)}.file-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.file-dot.accepted{background:var(--success)}.file-dot.rejected{background:var(--danger)}.project-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #edf1f6}.project-file-row b,.project-file-row small{display:block}.project-file-row small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.6}.empty-mini{padding:14px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed #d6deea;border-radius:12px}
.dashboard-file-finder{padding:17px 18px;margin:-8px 0 24px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.4fr);gap:18px;align-items:center;background:linear-gradient(135deg,#f8fbff,#fff)}.dashboard-file-finder h3{margin:4px 0 3px}.dashboard-file-finder p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.dashboard-file-finder form{display:grid;grid-template-columns:1fr .75fr auto;gap:9px;align-items:center}.dashboard-file-finder form .input,.dashboard-file-finder form select{margin:0}
.file-search-panel{padding:20px;margin-bottom:20px}.file-search-form{display:grid;grid-template-columns:1.2fr .8fr auto;gap:12px;align-items:end}.file-search-form .field{margin:0}.file-search-actions{display:flex;gap:8px;align-items:center}.approved-files-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.approved-file-card{padding:17px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center}.approved-file-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--success-soft);color:var(--success);font-weight:800;font-size:18px}.approved-file-main h3{margin:2px 0 4px}.approved-file-main>b,.approved-file-main>small{display:block}.approved-file-main>small{color:var(--muted);margin-top:4px;word-break:break-word}.approved-file-actions{display:flex;gap:7px;flex-direction:column}
.report-section-title{margin:26px 0 10px}.report-section-title h2{margin:3px 0 0;font-size:20px}.report-small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.report-attempt-table{min-width:1100px}.report-rejected-row{background:#fffafa}.report-approved-row{background:#fbfffd}.report-file-link{color:var(--blue);text-decoration:none;font-size:10px;word-break:break-word}.report-approved-files{display:grid;gap:8px}.report-approved-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #d6ebdf;border-radius:13px;background:#fbfffd}.report-approved-file b,.report-approved-file small{display:block}.report-approved-file small{color:var(--muted);margin-top:3px;font-size:10px}

@media(max-width:1100px){
  .dashboard-file-finder{grid-template-columns:1fr}.dashboard-file-finder form{grid-template-columns:1fr 1fr auto}
  .file-groups{grid-template-columns:1fr}.approved-files-grid{grid-template-columns:1fr}.decision-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .file-search-form{grid-template-columns:1fr}.file-search-actions{align-items:stretch}.file-search-actions .btn{flex:1}
  .approved-file-card{grid-template-columns:42px minmax(0,1fr)}.approved-file-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}
  .dashboard-file-finder form{grid-template-columns:1fr}.dashboard-file-finder form .btn{width:100%}
}
@media(max-width:680px){
  .review-gate{padding:12px}.review-gate-head{flex-direction:column}.review-file-btn{width:100%}.decision-card{padding:12px}.decision-card .btn{width:100%}
  .attempt-row-head{align-items:flex-start;flex-direction:column}.project-file-row{align-items:flex-start;flex-direction:column}.project-file-row .btn{width:100%}
  .file-search-panel{padding:14px}.file-search-actions{flex-direction:column}.file-search-actions .btn{width:100%}
  .approved-file-card{grid-template-columns:1fr}.approved-file-icon{width:36px;height:36px}.approved-file-actions{grid-column:1;flex-direction:column}.approved-file-actions .btn{width:100%}
  .dashboard-file-finder{padding:14px}.dashboard-file-finder form{gap:8px}.report-approved-file{align-items:flex-start;flex-direction:column}
}
@media print{
  .attempt-history,.review-gate,.project-files-section{break-inside:avoid}.report-section-title{break-after:avoid}.report-attempt-table{min-width:0}.report-attempt-table th,.report-attempt-table td{font-size:7.5px;padding:5px}.report-file-link{font-size:7px}.report-approved-files{break-inside:avoid}
}

/* Local demo credentials */
.local-demo-box{margin:18px 0;padding:14px 16px;border:1px solid rgba(41,89,166,.18);border-radius:16px;background:rgba(41,89,166,.055);display:grid;gap:8px}.local-demo-box>b{color:#2959A6}.local-demo-box>div{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:12px}.local-demo-box code{direction:ltr;text-align:left;background:#fff;border:1px solid rgba(41,89,166,.12);padding:5px 7px;border-radius:8px;font-family:Consolas,monospace;font-size:11px}@media(max-width:520px){.local-demo-box>div{grid-template-columns:1fr}.local-demo-box code{text-align:center}}


/* ===== Interaction polish / v5.1 local ===== */
.sidebar-action-count{color:inherit;text-decoration:none;transition:.2s ease}.sidebar-action-count:hover{background:rgba(254,193,44,.2);transform:translateY(-1px);border-color:rgba(254,193,44,.55)}
.app-toast{position:fixed;z-index:1000;top:22px;right:22px;width:min(390px,calc(100vw - 28px));display:grid;grid-template-columns:42px minmax(0,1fr) 30px;gap:11px;align-items:center;padding:14px 15px 17px;background:rgba(255,255,255,.98);border:1px solid #d9eadf;border-radius:18px;box-shadow:0 20px 55px rgba(24,52,96,.20);overflow:hidden;animation:toastIn .38s cubic-bezier(.2,.85,.25,1)}
.app-toast.err{border-color:#f1cccc}.toast-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--success-soft);color:var(--success);font-weight:800;font-size:20px}.app-toast.err .toast-icon{background:var(--danger-soft);color:var(--danger)}.toast-copy{min-width:0}.toast-copy b,.toast-copy span{display:block}.toast-copy b{font-size:13px;color:var(--ink);margin-bottom:3px}.toast-copy span{font-size:12px;color:var(--muted);line-height:1.65}.toast-close{width:30px;height:30px;border:0;border-radius:10px;background:#f4f6f9;color:#7d8798;cursor:pointer;font-size:20px;line-height:1}.toast-progress{position:absolute;right:0;bottom:0;height:4px;width:100%;background:linear-gradient(90deg,var(--success),#52b58e);transform-origin:right;animation:toastProgress 5s linear forwards}.app-toast.err .toast-progress{background:linear-gradient(90deg,var(--danger),#e38181)}.app-toast.toast-leave{animation:toastOut .26s ease forwards}@keyframes toastIn{from{opacity:0;transform:translateX(35px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateX(30px) scale(.98)}}@keyframes toastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
body.modal-open{overflow:hidden}.app-modal{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease}.app-modal.show{opacity:1;visibility:visible;pointer-events:auto}.app-modal-backdrop{position:absolute;inset:0;background:rgba(12,27,50,.58);backdrop-filter:blur(5px);opacity:0;transition:.25s}.app-modal.show .app-modal-backdrop{opacity:1}.app-modal-card{position:relative;width:min(520px,100%);padding:28px;border-radius:26px;background:#fff;border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 90px rgba(8,28,59,.3);transform:translateY(24px) scale(.96);opacity:0;transition:.32s cubic-bezier(.2,.85,.25,1);overflow:hidden}.app-modal-card:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(254,193,44,.14);left:-85px;top:-100px}.app-modal.show .app-modal-card{transform:none;opacity:1}.app-modal-x{position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:12px;border:0;background:#f2f5f9;color:#6f7b8d;cursor:pointer;font-size:22px;z-index:2}.approval-modal-mark{position:relative;width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--success-soft),#dff5ea);color:var(--success);font-size:29px;font-weight:800;margin-bottom:17px;box-shadow:0 10px 24px rgba(23,135,95,.12)}.app-modal-card h3{position:relative;font-size:25px;margin:5px 0 9px}.app-modal-card>p{position:relative;color:var(--muted);line-height:1.8;margin-bottom:16px}.approval-modal-note{position:relative;padding:14px 15px;border-radius:16px;background:#f8fbff;border:1px solid #e1e9f5;display:grid;gap:4px}.approval-modal-note b{color:var(--blue)}.approval-modal-note span{color:var(--muted);font-size:12px;line-height:1.75}.app-modal-actions{position:relative;display:flex;gap:10px;justify-content:flex-start;margin-top:20px}.app-modal-actions .btn{min-width:145px}
@media(max-width:620px){.app-toast{top:12px;right:14px}.app-modal-card{padding:22px 17px;border-radius:21px}.app-modal-actions{flex-direction:column-reverse}.app-modal-actions .btn{width:100%}}

/* ===== V5.2 live updates + rejection confirmation ===== */
.reject-modal-card:before{background:rgba(199,72,72,.10)}
.reject-modal-mark{position:relative;width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--danger-soft),#ffe0e0);color:var(--danger);font-size:29px;font-weight:800;margin-bottom:17px;box-shadow:0 10px 24px rgba(199,72,72,.12)}
.reject-eyebrow{color:var(--danger)}
.reject-modal-note{position:relative;padding:14px 15px;border-radius:16px;background:#fff7f7;border:1px solid #f1d4d4;display:grid;gap:5px}
.reject-modal-note b{color:var(--danger)}
.reject-modal-note span{color:#6f4c4c;font-size:12px;line-height:1.8;white-space:pre-wrap}
.reject-modal-warning{position:relative;display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 13px;border-radius:15px;background:var(--yellow-soft);border:1px solid rgba(254,193,44,.45)}
.reject-modal-warning>span{flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:var(--yellow);color:#674d00;display:grid;place-items:center;font-weight:800}
.reject-modal-warning p{margin:0;color:#725f29;font-size:11px;line-height:1.8}
.live-notification-toast{border-color:rgba(254,193,44,.65)}
.live-notification-toast .toast-icon{background:var(--yellow);color:var(--blue)}
.live-notification-toast .toast-progress{background:linear-gradient(90deg,var(--yellow),#ffd86b)}
.toast-link{display:inline-flex;margin-top:5px;color:var(--blue);font-size:11px;font-weight:700;text-decoration:none}
.toast-link:hover{text-decoration:underline}
.notification.live-added{animation:liveNotificationIn .45s ease}
@keyframes liveNotificationIn{from{opacity:0;transform:translateY(-10px);background:var(--yellow-soft)}to{opacity:1;transform:none}}
.sidebar-action-count b,.nav-badge,.bell b{transition:transform .2s ease,opacity .2s ease}
.sidebar-action-count b:not(:empty),.nav-badge,.bell b{animation:liveBadgePop .28s ease}
@keyframes liveBadgePop{0%{transform:scale(.75)}70%{transform:scale(1.12)}100%{transform:scale(1)}}

/* ===== V5.3 pagination + grouped approved files ===== */
.pagination-shell{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding:14px 16px;border:1px solid var(--border);background:rgba(255,255,255,.82);border-radius:18px;box-shadow:0 8px 24px rgba(31,75,145,.05)}
.pagination{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.page-link{min-width:38px;height:38px;padding:0 11px;border-radius:11px;display:inline-grid;place-items:center;border:1px solid #dfe7f3;background:#fff;color:#53627a;text-decoration:none;font-weight:700;font-size:12px;transition:.18s ease}.page-link:hover{border-color:#adc1e2;color:var(--blue);transform:translateY(-1px)}.page-link.active{background:linear-gradient(135deg,var(--blue),#456fba);border-color:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(41,89,166,.18)}.page-link.page-nav{padding-inline:14px;min-width:auto}.page-gap{color:#9aa5b5;padding:0 2px}.page-meta{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}
.approved-projects-list{display:grid;gap:13px}.project-files-accordion{padding:0;overflow:hidden;transition:.2s ease}.project-files-accordion[open]{border-color:#cfdcf0;box-shadow:0 12px 34px rgba(31,75,145,.07)}.project-files-accordion>summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(135deg,#fff,#fbfdff);user-select:none}.project-files-accordion>summary::-webkit-details-marker{display:none}.project-files-summary-main{min-width:0}.project-files-summary-main h3{margin:3px 0 3px;font-size:19px}.project-files-summary-main small{display:block;color:var(--muted);font-size:11px}.project-files-summary-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}.accordion-chevron{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:21px;font-weight:800;transition:.2s ease;line-height:1}.project-files-accordion[open] .accordion-chevron{transform:rotate(180deg);background:var(--blue);color:#fff}.project-approved-files{border-top:1px solid #edf1f6;padding:0 18px 8px;background:#fbfcfe}.approved-file-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 2px;border-bottom:1px solid #edf1f6}.approved-file-row:last-child{border-bottom:0}.approved-file-row .approved-file-main>b,.approved-file-row .approved-file-main>small{display:block}.approved-file-row .approved-file-main>b{font-size:14px;color:var(--ink)}.approved-file-row .approved-file-main>small{margin-top:4px;color:var(--muted);font-size:11px;word-break:break-word}.approved-file-row .approved-file-actions{display:flex;flex-direction:row;gap:7px;align-items:center}.approved-file-row .approved-file-icon{width:38px;height:38px;border-radius:12px;font-size:16px}
@media(max-width:760px){.pagination-shell{align-items:flex-start;flex-direction:column}.pagination{width:100%}.page-meta{align-self:flex-end}.project-files-accordion>summary{padding:15px}.project-files-summary-side .badge{display:none}.project-approved-files{padding-inline:12px}.approved-file-row{grid-template-columns:38px minmax(0,1fr)}.approved-file-row .approved-file-actions{grid-column:2;flex-wrap:wrap}.approved-file-row .approved-file-actions .btn{flex:1}.project-files-summary-main h3{font-size:17px}}
@media(max-width:480px){.pagination-shell{padding:12px}.pagination{gap:5px}.page-link{min-width:34px;height:35px;padding-inline:9px}.page-link.page-nav{padding-inline:10px}.project-files-accordion>summary{align-items:flex-start}.project-files-summary-side{margin-top:2px}.approved-file-row{grid-template-columns:1fr}.approved-file-row .approved-file-icon{display:none}.approved-file-row .approved-file-actions{grid-column:1;flex-direction:column}.approved-file-row .approved-file-actions .btn{width:100%}}

/* ===== V5.4 design requests, grouped navigation, dashboards & reports ===== */
.sidebar{overflow-y:auto;padding-bottom:105px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.nav-group{position:relative;border-radius:15px;border:1px solid transparent;overflow:hidden}.nav-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#e9f1ff;font-weight:700;border-radius:14px;transition:.2s}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover,.nav-group[open]>summary{background:rgba(255,255,255,.08)}.nav-chevron{font-size:18px;line-height:1;transition:.2s;opacity:.8}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-submenu{display:grid;gap:4px;padding:4px 6px 8px}.nav-submenu .nav-link{font-size:12px;padding:9px 11px;background:rgba(0,0,0,.05)}.nav-submenu .nav-link.active{background:#fff;color:var(--blue)}.design-nav-group[open]{border-color:rgba(254,193,44,.2)}.designer-priority-link .nav-badge{background:#ffdddd;color:var(--danger)}
.work-card-tags{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.mini-tag{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f4f6fa;color:#5f6c7e;font-size:10px;font-weight:700}.design-work-card{border-color:#f0d3d3}.design-work-card.has-action{border-color:#e8a7a7;box-shadow:0 10px 30px rgba(199,72,72,.09)}.late-work-card{box-shadow:inset 0 0 0 1px rgba(199,72,72,.08),0 8px 28px rgba(31,75,145,.045)}
.kpi.kpi-red:after{background:var(--danger-soft)}.kpi.kpi-red b{color:var(--danger)}.kpi-link{text-decoration:none;color:inherit}.dashboard-kpis{margin-bottom:18px}.dashboard-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 28px}.dashboard-quick-card{display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:18px;background:#fff;border:1px solid var(--border);text-decoration:none;box-shadow:0 8px 24px rgba(31,75,145,.04);transition:.2s}.dashboard-quick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cdd9ed}.dashboard-quick-card>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:21px;font-weight:800}.dashboard-quick-card.design>span{background:var(--danger-soft);color:var(--danger)}.dashboard-quick-card b,.dashboard-quick-card small{display:block}.dashboard-quick-card small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.5}
.priority-action{border-color:#efc4c4!important;background:linear-gradient(135deg,#fff7f7,#fff)!important}.priority-action .action-type{color:var(--danger)!important}.designer-priority-alert,.design-request-detail-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#c74848,#a93636);color:#fff;box-shadow:0 12px 32px rgba(199,72,72,.18);margin-bottom:20px}.priority-alert-icon{flex:0 0 42px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--danger);font-size:22px;font-weight:800}.designer-priority-alert>div:nth-child(2){flex:1}.designer-priority-alert b,.designer-priority-alert span,.design-request-detail-banner b,.design-request-detail-banner span{display:block}.designer-priority-alert span,.design-request-detail-banner span{margin-top:3px;color:#ffe7e7;font-size:11px;line-height:1.7}.designer-priority-alert .btn{background:#fff;color:var(--danger)}.compact-priority{padding:12px 14px}.compact-priority .priority-alert-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px}.design-request-detail-banner{justify-content:space-between}.design-request-detail-banner>span{padding:7px 10px;background:rgba(255,255,255,.12);border-radius:99px;margin:0;font-weight:700}.designer-work-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.work-counter{padding:18px;border-radius:20px;background:#fff;border:1px solid var(--border);text-decoration:none;box-shadow:0 8px 25px rgba(31,75,145,.05)}.work-counter.design{background:linear-gradient(135deg,#fff5f5,#fff);border-color:#f0cccc}.work-counter.project{background:linear-gradient(135deg,#f5f8ff,#fff);border-color:#d4e0f2}.work-counter span,.work-counter b,.work-counter small{display:block}.work-counter span{color:var(--muted);font-size:12px;font-weight:700}.work-counter b{font-size:36px;margin:5px 0 1px;color:var(--blue)}.work-counter.design b{color:var(--danger)}.work-counter small{color:#9aa3b0}.dashboard-projects-title{margin-top:30px}.design-request-form .form-intro-note{background:linear-gradient(135deg,var(--danger-soft),#fff);border-color:#f0c9c9}.design-request-form .form-intro-note-icon{background:var(--danger);color:#fff}.request-number-field{padding:12px 13px;border-radius:15px;background:#fff8f8;border:1px solid #f0d2d2}.request-number-field small{display:block;color:var(--muted);margin-top:5px;font-size:10px}.required-star{color:var(--danger)}.design-files-group>summary{background:linear-gradient(135deg,#fff8f8,#fff)}
.report-hub-tabs{display:flex;gap:8px;margin-bottom:16px;padding:6px;border-radius:16px;background:#eaf0f8;width:max-content;max-width:100%}.report-hub-tabs a{padding:10px 16px;border-radius:12px;text-decoration:none;color:#647288;font-weight:700;font-size:12px}.report-hub-tabs a.active{background:#fff;color:var(--blue);box-shadow:0 6px 16px rgba(31,75,145,.08)}.report-filter-card{padding:18px;margin-bottom:18px}.report-filter-form{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr;gap:10px;align-items:end}.report-filter-form .field{margin:0}.report-filter-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-start;margin-top:3px}.report-kpis{margin-bottom:20px}.report-results-card{padding:18px}.designer-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.designer-report-card{padding:18px}.designer-report-head{display:flex;align-items:center;gap:11px;padding-bottom:13px;border-bottom:1px solid #edf1f6}.designer-report-head>div:nth-child(2){flex:1}.designer-report-head h3{margin:0 0 2px}.designer-report-head span{color:var(--muted);font-size:10px}.designer-report-head>b{padding:6px 9px;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-size:11px}.designer-report-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:14px 0}.designer-report-stats>div{padding:10px 8px;border-radius:12px;background:#f7f9fc;text-align:center}.designer-report-stats span,.designer-report-stats b{display:block}.designer-report-stats span{font-size:9px;color:var(--muted);min-height:27px}.designer-report-stats b{font-size:20px;color:var(--blue)}.danger-text{color:var(--danger)!important}
@media(max-width:1250px){.dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-report-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.designer-work-counters{grid-template-columns:1fr}.designer-report-grid{grid-template-columns:1fr}.design-request-detail-banner,.designer-priority-alert{align-items:flex-start;flex-wrap:wrap}.designer-priority-alert .btn{width:100%}.dashboard-quick-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.dashboard-quick-grid{grid-template-columns:1fr}.report-filter-form{grid-template-columns:1fr}.report-filter-actions{flex-direction:column}.report-filter-actions .btn{width:100%}.designer-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-hub-tabs{width:100%}.report-hub-tabs a{flex:1;text-align:center;padding-inline:8px}.work-card-tags{align-items:flex-start}.design-request-detail-banner>span{width:100%;text-align:center}.nav-group>summary{padding-block:11px}}
@media print{.report-filter-card,.report-hub-tabs,.dashboard-quick-grid,.designer-priority-alert{display:none!important}.designer-report-grid{grid-template-columns:1fr 1fr}.designer-report-card{break-inside:avoid}}
.designer-sidebar-workload{position:relative;z-index:1;display:grid;gap:7px;margin-top:12px}.sidebar-workload-row{display:grid;gap:1px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);text-decoration:none;color:#fff}.sidebar-workload-row.urgent{background:rgba(199,72,72,.28);border-color:rgba(255,190,190,.25)}.sidebar-workload-row span{font-size:11px;font-weight:700}.sidebar-workload-row span b{font-size:17px;margin-left:3px;color:var(--yellow)}.sidebar-workload-row.urgent span b{color:#ffd8d8}.sidebar-workload-row small{font-size:9px;color:#cddcf1}
.upload-progress{width:100%;margin-top:10px}.upload-progress-track{height:8px;background:#e9eef6;border-radius:99px;overflow:hidden}.upload-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#2c63bd,#35a77a);transition:width .15s ease}.upload-progress small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.drive-file-link{display:inline-flex;align-items:center;margin-inline-start:8px;color:#2d67bd;font-size:11px;font-weight:800;text-decoration:none}.drive-status-ok,.drive-status-warn{display:inline-block;margin-inline-start:8px;font-size:10px}.drive-status-ok{color:#218556}.drive-status-warn{color:#b87818}
