@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");
@import url("auth.css");
:root{--app-bg:#f4f6f8;--app-surface:#fff;--app-surface-soft:#f9fafb;--app-border:#d7dde5;--app-border-strong:#b8c2cf;--app-text:#1d2733;--app-muted:#5f6f82;--app-primary:#0b63b6;--app-primary-dark:#084f93;--app-primary-soft:#eaf3fc;--app-primary-contrast:#fff;--app-danger:#b42318;--app-danger-soft:#fff1f0;--app-warning:#8a5100;--app-warning-soft:#fff7e6;--app-success:#107c41;--app-success-soft:#edf7f0;--app-shadow:0 1px 2px rgba(15,23,42,.05);--app-heading:#111827;--app-control-bg:#fff;--app-table-head:#f1f4f8;--app-table-border:#e5e9ef;--app-table-hover:#f8fbff;--app-focus-ring:rgba(11,99,182,.28)}
html{min-height:100%}body{background:var(--app-bg);color:var(--app-text);font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;min-height:100%}a{color:var(--app-primary);text-underline-offset:3px}:focus-visible{outline:3px solid var(--app-focus-ring);outline-offset:2px}.text-secondary,.text-muted,.form-text{color:var(--app-muted)!important}h1,h2,h3,h4,h5,h6{color:var(--app-heading)}
.pd-sidebar{--bs-offcanvas-width:260px;background:var(--app-surface);border-right:1px solid var(--app-border);box-shadow:var(--app-shadow);color:var(--app-text)}.pd-sidebar .offcanvas-header{border-bottom:1px solid var(--app-border)}.sidebar-brand{border-bottom:1px solid var(--app-border);color:var(--app-text);font-size:1.12rem;font-weight:800;padding:1.35rem 1.25rem;text-decoration:none}.sidebar-brand:hover{color:var(--app-primary)}.sidebar-nav{padding:.8rem}.sidebar-nav a{align-items:center;border:1px solid transparent;border-radius:6px;color:#334155;display:flex;font-weight:650;gap:.8rem;margin:.15rem 0;padding:.68rem .85rem;text-decoration:none}.sidebar-nav a i{color:var(--app-muted);font-size:1.05rem}.sidebar-nav a:hover,.sidebar-nav a:focus{background:var(--app-primary-soft);color:var(--app-primary)}.sidebar-nav a:hover i,.sidebar-nav a:focus i{color:var(--app-primary)}.sidebar-nav a.active{background:var(--app-primary-soft);border-color:#c9def3;color:var(--app-primary)}.sidebar-nav a.active i{color:var(--app-primary)}.sidebar-user{background:var(--app-surface-soft);border-top:1px solid var(--app-border);color:var(--app-text);padding:1rem}.sidebar-user .btn{border-color:var(--app-border-strong);color:#334155}.sidebar-user .btn:hover{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.mobile-header{align-items:center;background:var(--app-surface);border-bottom:1px solid var(--app-border);box-shadow:var(--app-shadow);color:var(--app-text);display:flex;gap:.5rem;height:58px}.mobile-header .btn{color:var(--app-text)!important}.mobile-header a{color:var(--app-text);font-size:1.1rem;font-weight:800;text-decoration:none}
@media(min-width:992px){.pd-sidebar{inset:0 auto 0 0;position:fixed;transform:none!important;visibility:visible!important;width:260px}.pd-main{margin-left:260px;width:calc(100% - 260px)}}@media(max-width:991.98px){.pd-sidebar{box-shadow:0 12px 30px rgba(15,23,42,.16)}}@media print{.pd-sidebar,.mobile-header,.d-print-none{display:none!important}.pd-main{margin:0!important;width:100%!important}body,main{background:#fff!important;padding:0!important}}
.card,.list-group-item,.modal-content{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.card{border:1px solid var(--app-border)!important;border-radius:8px;box-shadow:var(--app-shadow)!important}.card-header{background:var(--app-surface-soft)!important;border-color:var(--app-border)}.requester-hero{background:linear-gradient(120deg,#fff,#eaf3fc)}.btn{border-radius:6px;font-weight:650;min-height:38px}.btn-primary{--bs-btn-bg:var(--app-primary);--bs-btn-border-color:var(--app-primary);--bs-btn-hover-bg:var(--app-primary-dark);--bs-btn-hover-border-color:var(--app-primary-dark)}.btn-outline-primary{--bs-btn-color:var(--app-primary);--bs-btn-border-color:var(--app-primary);--bs-btn-hover-bg:var(--app-primary);--bs-btn-hover-border-color:var(--app-primary)}.form-control,.form-select{background-color:var(--app-control-bg);border-color:var(--app-border);border-radius:6px;color:var(--app-text);min-height:42px}.form-control:focus,.form-select:focus{border-color:var(--app-primary);box-shadow:0 0 0 .2rem rgba(11,99,182,.13)}.form-label{color:#334155;font-weight:600}.form-check-input{border-color:var(--app-border-strong)}
.table{--bs-table-bg:var(--app-surface);--bs-table-color:var(--app-text);--bs-table-border-color:var(--app-table-border);--bs-table-hover-bg:var(--app-table-hover);--bs-table-hover-color:var(--app-text);font-size:.9rem}.table thead th{background:var(--app-table-head);color:#334155;font-size:.74rem;font-weight:750;letter-spacing:0;padding:.72rem .85rem;text-transform:uppercase}.table td{padding:.72rem .85rem}.badge{border-radius:999px;font-size:.76rem;font-weight:700;padding:.35rem .55rem}.text-bg-secondary{background:var(--app-surface-soft)!important;color:var(--app-muted)!important}.text-bg-success{background:var(--app-success-soft)!important;color:var(--app-success)!important}.text-bg-warning{background:var(--app-warning-soft)!important;color:var(--app-warning)!important}.text-bg-danger{background:var(--app-danger-soft)!important;color:var(--app-danger)!important}
.priority-low{background:#eef2f6;color:#44546a}.priority-normal{background:var(--app-primary-soft);color:var(--app-primary)}.priority-high{background:var(--app-warning-soft);color:var(--app-warning)}.priority-urgent{background:var(--app-danger-soft);color:var(--app-danger)}.auth-shell{margin:7vh auto 0;width:min(100%,440px)}.org-branch{border-left:3px solid var(--app-border);margin:.5rem 0 1rem;padding-left:1rem}.ticket-description{white-space:pre-wrap}.internal-comment{background:var(--app-warning-soft);border-left:3px solid var(--app-warning)!important}.timeline{border-left:2px solid var(--app-border);margin-left:1rem}.timeline-item{padding:0 0 1rem 1rem;position:relative}.timeline-item::before{background:var(--app-primary);border-radius:50%;content:"";height:10px;left:-6px;position:absolute;top:5px;width:10px}.time-panel{border-top:4px solid var(--app-primary)!important}.qr-preview{image-rendering:crisp-edges;width:220px}.label-grid{display:grid;gap:10mm;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.asset-label{align-items:center;border:1px solid #111;break-inside:avoid;display:flex;gap:4mm;padding:5mm}.asset-label img{height:30mm;width:30mm}.contract-report{font-size:.9rem}.audit-json{font-size:.72rem;max-width:520px;white-space:pre-wrap}
.crud-page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.crud-card{overflow:hidden}.crud-card-title{align-items:center;color:var(--app-primary);display:flex;font-weight:750;gap:.65rem;min-height:50px}.crud-card-title>div{display:flex;flex-direction:column;gap:.1rem}.crud-card-title small{color:var(--app-muted);font-size:.72rem;font-weight:500}.crud-card-title>.badge{margin-left:auto}.crud-table .crud-id{width:72px}.crud-id-badge{background:#6b7683;border-radius:999px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;justify-content:center;min-width:26px;padding:.2rem .45rem}.crud-actions-heading{text-align:right;width:128px}.crud-actions{display:flex;gap:.35rem;justify-content:flex-end;white-space:nowrap}.crud-actions form{display:inline-flex}.crud-icon-btn{align-items:center;display:inline-flex;height:34px;justify-content:center;min-height:34px;padding:0;width:36px}.crud-empty{color:var(--app-muted)!important;padding:2rem!important;text-align:center}.crud-table td{vertical-align:middle}@media(max-width:767.98px){.crud-page-header .btn{flex:1}.crud-page-header>div:last-child{display:flex;width:100%}.crud-actions-heading{width:92px}.crud-table .crud-id{width:54px}}
