:root{
  --pf-red:#c80010;--pf-red-dark:#8f0009;--pf-red-soft:#fff0f1;--pf-black:#101114;--pf-ink:#17191f;
  --pf-muted:#707786;--pf-bg:#f4f5f7;--pf-card:#fff;--pf-line:#e8e9ed;--pf-sidebar:#101114;
  --pf-shadow:0 14px 40px rgba(16,17,20,.07);--pf-shadow-hover:0 20px 48px rgba(16,17,20,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--pf-bg);color:var(--pf-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}.app-shell{min-height:100vh}.sidebar{width:272px;background:linear-gradient(180deg,#0c0d10 0%,#15171c 58%,#0e0f12 100%);color:#fff;position:fixed;inset:0 auto 0 0;z-index:1030;overflow-y:auto;border-right:1px solid #ffffff0d;box-shadow:18px 0 50px rgba(0,0,0,.08)}
.sidebar-brand{padding:21px 18px 15px}.sidebar-logo{display:block;background:#fff;border-radius:15px;padding:9px 11px;box-shadow:0 9px 30px #0004;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.sidebar-logo:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 14px 34px #0006}.sidebar-logo img{width:100%;height:auto;display:block}.sidebar-label{padding:18px 21px 7px;color:#727985;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.sidebar nav{padding:0 10px 26px}.sidebar nav>a{position:relative;color:#aeb4bf;text-decoration:none;display:flex;gap:12px;align-items:center;padding:11px 13px;margin:4px 0;border-radius:12px;font-size:.91rem;font-weight:650;transition:all .22s cubic-bezier(.2,.8,.2,1);overflow:hidden}.sidebar nav>a:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,#ffffff0c,transparent);transform:translateX(-120%);transition:transform .45s ease}.sidebar nav>a:hover:before{transform:translateX(120%)}.sidebar nav>a:hover{background:#ffffff0b;color:#fff;transform:translateX(3px)}.sidebar nav>a.active{background:linear-gradient(135deg,var(--pf-red),#9c0010);color:#fff;box-shadow:0 8px 24px rgba(200,0,16,.25);transform:translateX(2px)}.sidebar nav>a.active:after{content:"";position:absolute;right:8px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff22;animation:pfPulse 2s ease-in-out infinite}.nav-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#ffffff0a;font-size:.85rem;flex:0 0 23px}.sidebar nav>a.active .nav-icon{background:#ffffff1e}.main{margin-left:272px;min-height:100vh}.topbar{height:68px;background:#fffffff2;backdrop-filter:blur(12px);border-bottom:1px solid var(--pf-line);padding:0 26px;position:sticky;top:0;z-index:1020}.top-title{font-weight:800;letter-spacing:-.02em}.top-user{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1b1d22,#32353d);color:#fff;font-weight:800;font-size:.78rem;box-shadow:0 4px 12px #1112}.content{padding:25px 28px;max-width:1700px;margin:auto}.card{border:1px solid var(--pf-line);border-radius:18px;box-shadow:0 4px 18px rgba(16,17,20,.035);background:var(--pf-card);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card.hover-lift:hover,.stat-card:hover{transform:translateY(-3px);box-shadow:var(--pf-shadow-hover);border-color:#ddd}.stat-card{overflow:hidden;position:relative}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-36px;top:-38px;background:radial-gradient(circle,#d3081820,transparent 68%)}.stat-card .value{font-size:1.8rem;font-weight:850;letter-spacing:-.045em}.muted{color:var(--pf-muted)}.table{vertical-align:middle}.table>:not(caption)>*>*{padding:.83rem .9rem}.table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#7c818c;border-bottom-width:1px;background:#fafafb}.table tbody tr{transition:background .16s ease}.table tbody tr:hover{background:#fcf7f8}.btn{border-radius:11px;font-weight:720;transition:transform .17s ease,box-shadow .17s ease,background .17s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--pf-red),#a9000d);border-color:var(--pf-red);box-shadow:0 7px 18px rgba(200,0,16,.16)}.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#da0012,#99000b);border-color:#ae000e;box-shadow:0 10px 22px rgba(200,0,16,.25)}.btn-dark{background:#17191d;border-color:#17191d}.btn-outline-dark{border-color:#d5d7dc}.section-title{font-weight:850;letter-spacing:-.04em}.page-kicker{color:var(--pf-red);font-size:.69rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.badge{border-radius:999px;padding:.47em .72em;font-weight:760}.text-bg-primary{background-color:var(--pf-red)!important}.alert{border-radius:14px;border:0;box-shadow:0 4px 14px #1110000b}.form-control,.form-select{border:1px solid #dcdfe5;border-radius:12px;min-height:44px;background:#fff;transition:border .15s ease,box-shadow .15s ease}.form-control:focus,.form-select:focus{border-color:#e06b75;box-shadow:0 0 0 .24rem rgba(200,0,16,.08)}textarea.form-control{min-height:auto}.form-label{font-size:.78rem;font-weight:750;color:#555c69}.form-section{background:#fff;border:1px solid var(--pf-line);border-radius:18px;overflow:hidden}.form-section-head{padding:18px 21px;border-bottom:1px solid var(--pf-line);display:flex;align-items:center;justify-content:space-between;gap:12px}.form-section-body{padding:21px}.doc-card{background:#fff;border:1px solid #dce1e8;padding:38px;max-width:900px;margin:auto}.timeline{border-left:2px solid #dfe4eb;margin-left:8px;padding-left:24px}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:before{content:"";position:absolute;left:-31px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--pf-red)}.priority-critical{color:#b42318;font-weight:700}.priority-urgent{color:#c75b00;font-weight:700}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#b7001218,transparent 28%),radial-gradient(circle at 85% 85%,#00000012,transparent 30%),linear-gradient(145deg,#f7f7f8,#e9eaed);position:relative;overflow:hidden}.login-wrap:before,.login-wrap:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid #c8001015;animation:floatOrb 8s ease-in-out infinite}.login-wrap:before{left:-180px;bottom:-160px}.login-wrap:after{right:-210px;top:-160px;animation-delay:-3s}.login-card{width:min(440px,100%);background:#ffffffee;backdrop-filter:blur(14px);border:1px solid #fff;border-radius:25px;padding:36px;box-shadow:0 30px 90px rgba(20,20,25,.18);position:relative;z-index:1;animation:loginIn .5s cubic-bezier(.2,.8,.2,1)}.login-logo{display:block;width:min(340px,92%);margin:0 auto 27px}.login-card .btn-primary{min-height:48px}.mobile-nav{display:none}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.workflow-step{border:1px solid var(--pf-line);border-radius:15px;padding:14px;background:#fff;min-height:92px;position:relative;transition:all .2s ease}.workflow-step:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1111}.workflow-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eceef1;color:#555;font-weight:800;margin-bottom:8px}.workflow-step strong,.workflow-step small{display:block}.workflow-step small{color:var(--pf-muted);margin-top:4px}.workflow-step.active{border-color:#f0a7ae;background:#fff7f8}.workflow-step.active span{background:var(--pf-red);color:#fff}.workflow-step.complete{border-color:#a7dfc1;background:#f4fcf7}.workflow-step.complete span{background:#13824f;color:#fff}.pf-progress{height:7px;border-radius:99px;background:#eceef1;overflow:hidden}.pf-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--pf-red),#ef4c59);border-radius:inherit;transition:width .4s ease}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick-card{display:block;text-decoration:none;padding:19px;border-radius:17px;border:1px solid var(--pf-line);background:#fff;transition:all .22s ease;position:relative;overflow:hidden}.quick-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff0f1,transparent 58%);opacity:0;transition:opacity .22s}.quick-card:hover{transform:translateY(-4px);border-color:#efc4c8;box-shadow:0 15px 35px #a0001014}.quick-card:hover:before{opacity:1}.quick-card>*{position:relative}.quick-icon{width:39px;height:39px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center;margin-bottom:13px;font-weight:850}.quick-card.red .quick-icon{background:var(--pf-red)}.doc-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.doc-action{border:1px solid var(--pf-line);border-radius:17px;background:#fff;padding:18px;position:relative;transition:all .2s}.doc-action:hover{border-color:#e8b3b8;box-shadow:0 14px 30px #1111;transform:translateY(-2px)}.doc-action .doc-n{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--pf-red)}.doc-action h6{font-weight:850;margin:.35rem 0}.doc-action.done{border-color:#b7dfc8;background:#f8fcfa}.source-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--pf-line);border-radius:999px;padding:6px 9px;background:#fff;font-size:.73rem;font-weight:700}.source-chip.ok{border-color:#bbe2cc;color:#137847;background:#f6fcf8}.source-chip.warn{border-color:#f2d6a4;color:#9a5d00;background:#fffaf1}.repo-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eef0f3}.repo-item:last-child{border:0}.empty-state{text-align:center;padding:50px 20px;color:var(--pf-muted)}.empty-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 13px;background:#f1f2f4;font-size:1.4rem}.mini-metric{padding:14px;border:1px solid var(--pf-line);border-radius:14px;background:#fff}.mini-metric b{font-size:1.25rem;display:block;letter-spacing:-.03em}.offcanvas-ish{transition:transform .24s ease}.fade-up{animation:fadeUp .35s ease both}.stagger>*{animation:fadeUp .32s ease both}.stagger>*:nth-child(2){animation-delay:.04s}.stagger>*:nth-child(3){animation-delay:.08s}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}
@keyframes pfPulse{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@keyframes floatOrb{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(12deg)}}@keyframes loginIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.quick-grid,.doc-flow{grid-template-columns:repeat(2,1fr)}}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:transform .23s ease}.sidebar.open{transform:none}.main{margin-left:0}.mobile-nav{display:inline-flex}.content{padding:18px}.quick-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.workflow-grid,.doc-flow{grid-template-columns:1fr 1fr}.topbar{padding:0 14px}.content{padding:15px}.login-card{padding:29px 23px}}@media(max-width:520px){.workflow-grid,.doc-flow,.quick-grid{grid-template-columns:1fr}.sidebar{width:min(86vw,300px)}}@media print{.sidebar,.topbar,.no-print{display:none!important}.main{margin:0}.content{padding:0}.card{box-shadow:none;border:0}.doc-card{border:0;max-width:none;padding:0}}
