*{box-sizing:border-box}body{margin:0;background:#f3f5f9;color:#15253e;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#175eae;text-decoration:none}a:hover{text-decoration:underline}small{display:block;color:#66788d;font-size:12px}h1{font-size:30px;letter-spacing:-1px;margin:4px 0 0}h2{font-size:21px;margin:0 0 18px}h3{font-size:17px}p{overflow-wrap:anywhere}.brand{font-size:22px;font-weight:850;letter-spacing:1px}.brand span{color:#f8ac45}aside{position:fixed;inset:0 auto 0 0;width:260px;padding:30px 22px;background:#102541;color:white;display:flex;flex-direction:column}aside small{color:#acbacb}nav{margin-top:40px}nav a{display:block;padding:14px 10px;color:#dce6f5;border-radius:8px}nav a:hover{background:#213956;text-decoration:none}nav b{background:#f2a237;color:#102541;padding:1px 7px;border-radius:10px}.workspace{margin-left:260px;padding:36px 42px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}time{font-size:13px;color:#63758d}section{background:white;border:1px solid #e1e7ef;border-radius:12px;padding:25px;margin-bottom:22px;box-shadow:0 4px 12px #16305004}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}.section-title h2{margin:0}form{margin:0}label{display:block;font-size:13px;font-weight:600;margin:13px 0}input,textarea,select{font:inherit;border:1px solid #cad4e1;border-radius:7px;padding:10px 12px;width:100%;background:#fff;color:#15253e;display:block;margin-top:6px}textarea{min-height:85px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #97bce6}button,.button{font:600 13px system-ui;display:inline-block;border:0;border-radius:7px;background:#163d6c;color:white;padding:11px 17px;cursor:pointer}button:hover,.button:hover{background:#23568e;text-decoration:none}.secondary{background:#eaf0f6;color:#204368}.danger{background:#ad3443}.badge{display:inline-block;font-size:11px;border-radius:30px;padding:6px 10px;background:#edf3fc;color:#254e83;font-weight:600}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#6b7b8d;background:#f6f8fb;font-size:11px;text-transform:uppercase;padding:13px}td{padding:14px 12px;border-bottom:1px solid #e8edf4;vertical-align:top}td input{min-width:110px}td small{margin-top:4px}td:first-child input{min-width:170px}.filters{display:flex;gap:10px;margin-bottom:20px}.filters input{flex:2;margin:0}.filters select{flex:1;margin:0}.error,.success{border-radius:8px;padding:14px 18px;margin-bottom:20px;background:#fff0f1;color:#9d2836}.success{background:#e9f7ef;color:#276747}.timeline{border-left:3px solid #df9a3b;padding:2px 0 3px 18px;margin:20px 0}.timeline strong{display:block;margin-top:5px}.timeline p{margin:5px 0;font-size:13px}.action{border-left:4px solid #ec9c37}.login{max-width:1000px;margin:9vh auto;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.login .brand,.login h1,.login>p{grid-column:1}.login section{grid-column:2;grid-row:1/5}.login h1{font-size:48px;line-height:1.12;align-self:center}.login button{width:100%;margin:10px 0 20px}.login>p{color:#63758d}.login section>small{font-size:11px}footer{font-size:11px;color:#8390a3;padding:15px 0}@media(max-width:900px){aside{position:relative;width:100%;padding:20px}nav{margin:15px 0;display:flex;flex-wrap:wrap;gap:4px}nav a{padding:7px}.workspace{margin:0;padding:22px}.grid{grid-template-columns:1fr}.login{display:block;max-width:500px;margin:3vh auto}.login h1{font-size:38px;margin:30px 0}.filters{flex-wrap:wrap}header{align-items:start}header time{display:none}}@media print{aside,header,.action,footer,button,.button{display:none!important}.workspace{margin:0;padding:0;max-width:none}body{background:white;font-size:11px}section{box-shadow:none;border-radius:0;padding:12px;break-inside:avoid}.badge{border:1px solid #aaa}a{color:#000}.table-wrap{overflow:visible}}

/* Visual RPO tracking: SVG icons and explicit text states. */
.compact-track{display:flex;align-items:center;gap:9px;min-width:195px}.compact-track>svg{width:27px;height:27px;flex:none;color:#2a5d93}.compact-track strong{font-size:12px}.tracking-panel{border-top:4px solid #efa13c}.track-summary{display:flex;gap:17px;align-items:center;background:#102d4f;color:white;padding:20px;border-radius:10px}.track-summary-main>svg{width:40px;height:40px;flex:none;color:#ffc66b}.track-summary strong{display:block;font-size:23px}.track-summary small{color:#c8d8ea}.tracking-note{font-size:13px;padding:0 4px;overflow-wrap:anywhere}.track-legend{display:flex;flex-wrap:wrap;gap:18px;margin:22px 0;font-size:12px}.track-legend .done{color:#236647}.track-legend .current{color:#9a5500}.track-legend .waiting{color:#6a7b8b}.track-legend .rejected{color:#aa3242}.track-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;margin:0}.track-step{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #e0e6ed;border-radius:10px;background:#f8fafc;break-inside:avoid;min-width:0}.track-icon{position:relative;flex:none;background:#e7edf4;color:#748395;border-radius:12px;width:44px;height:44px;display:grid;place-items:center}.track-icon>svg{width:27px;height:27px}.track-icon>span{position:absolute;right:-6px;bottom:-6px;background:white;border:1px solid currentColor;border-radius:20px;width:19px;height:19px;display:grid;place-items:center;font-size:10px;font-weight:700}.track-content{min-width:0;overflow-wrap:anywhere}.track-content>strong{font-size:14px;display:block}.step-state{display:block;font-size:11px;font-weight:700;margin:4px 0}.track-content small{font-size:11px;margin-top:5px}.track-step.done{background:#f2faf5;border-color:#cfe6d8}.track-step.done .track-icon{background:#dcefe3;color:#246645}.track-step.done .step-state{color:#246645}.track-step.current{background:#fff7e9;border:2px solid #e8a045}.track-step.current .track-icon{background:#ffe4b6;color:#835009}.track-step.current .step-state{color:#8c5000}.track-step.rejected,.track-step.returning{background:#fff2f2;border:2px solid #d25b66}.track-step.rejected .track-icon,.track-step.returning .track-icon{background:#fbdde0;color:#9e2d3b}.track-step.stopped{border-style:dashed}.proof-link{display:block;font-size:11px;margin-top:7px;text-decoration:underline}.return-tracker{border:1px solid #e6bc83;border-radius:10px;background:#fffaf3;padding:18px;margin-top:24px}.return-tracker h3{display:flex;align-items:center;gap:9px;margin:0}.return-tracker h3 svg{width:24px;height:24px}.return-tracker p,.return-tracker li{font-size:12px}.return-tracker li{padding:8px 0}.tracking-help{font-size:11px;color:#62758b;margin-bottom:0}.timeline:target{background:#fff4d9;outline:2px solid #e6ad57;scroll-margin-top:20px}@media(max-width:1150px){.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.track-grid{grid-template-columns:1fr}.track-step{min-height:0}.track-summary strong{font-size:18px}.track-legend{gap:10px}}@media print{.tracking-panel{break-inside:auto}.track-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.track-step{min-height:0;padding:10px;print-color-adjust:exact}.track-summary{background:#edf2f7;color:#15253e}.track-summary small{color:#53657a}.track-summary-main>svg{color:#204f80}.tracking-panel .button{display:none}.proof-link{font-size:9px}}

.role-label{font-size:13px;font-weight:600;margin:14px 0 6px}.role-label small{display:inline;font-weight:400;margin-left:7px}.role-dropdown{position:relative;margin:0 0 12px}.role-dropdown summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #cad4e1;border-radius:7px;background:#fff;padding:11px 12px;font-size:14px;min-height:45px;user-select:none}.role-dropdown summary::-webkit-details-marker{display:none}.role-dropdown summary span{overflow-wrap:anywhere}.role-dropdown summary svg{width:18px;height:18px;flex:none;transition:transform .15s}.role-dropdown[open] summary{border-color:#34689f;outline:2px solid #dce9f8}.role-dropdown[open] summary svg{transform:rotate(180deg)}.role-dropdown summary:focus-visible{outline:2px solid #34689f;outline-offset:2px}.role-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:#fff;border:1px solid #c8d5e5;border-radius:10px;box-shadow:0 12px 28px #152f532b;padding:8px;max-height:360px;overflow:auto}.role-picker{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:4px}.role-picker legend{font-size:11px;color:#61758d;padding:6px 8px 10px}.role-picker label{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;padding:10px;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.role-picker label:hover{background:#f1f5fb}.role-picker label:has(input:checked){background:#eaf2ff;border-color:#c6daf2}.role-picker input[type=checkbox]{display:block;flex:0 0 17px;width:17px;height:17px;min-width:17px;margin:0;accent-color:#174779}.role-picker label span{line-height:1.5}.role-help{font-size:12px;color:#526a82}.role-picker input:focus-visible{outline:2px solid #d58c24;outline-offset:2px}.role-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 6px 2px;border-top:1px solid #e4eaf2;margin-top:6px}.role-menu-footer span{font-size:11px;color:#61758d}.role-menu-footer button{padding:8px 12px;font-size:12px}@media(max-width:620px){.role-label small{display:block;margin:3px 0 0}.role-menu{max-height:300px}}@media print{.role-menu{position:static;box-shadow:none}.role-menu-footer{display:none}}

/* Compact icon actions with tooltips and accessible labels. */
.accounts-table td{vertical-align:middle}.accounts-table .account-action-heading{width:160px;min-width:160px}.accounts-table .account-action-cell{width:160px;padding:14px 12px}.account-actions{display:grid;grid-template-columns:repeat(3,40px);align-items:center;gap:8px;min-width:136px}.account-actions form{display:block;margin:0;padding:0;min-width:0}.account-actions .icon-action{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:40px;height:40px;min-height:40px;margin:0;padding:9px;border:1px solid transparent;border-radius:8px;cursor:pointer;text-decoration:none}.account-actions .icon-action svg{width:20px;height:20px;flex:none}.account-actions .account-edit{color:#245b96;background:#eaf1fb}.account-actions .account-edit:hover{background:#dce9fa;border-color:#b5ccec}.account-actions .account-disable{color:#af3445;background:#fff0f2}.account-actions .account-disable:hover{background:#fbe1e6;border-color:#e8b5c0}.account-actions .account-enable{color:#23754f;background:#e9f7ef}.account-actions .account-enable:hover{background:#d9f0e3;border-color:#aad4ba}.account-actions .icon-action:focus-visible{outline:2px solid #245f9a;outline-offset:3px}@media print{.accounts-table .account-action-heading,.accounts-table .account-action-cell{display:none}}

/* Collapsed account menu at the top-right, native mouse and keyboard toggle. */
.account-topbar{display:flex;justify-content:flex-end;align-items:flex-start;margin:0 0 24px;width:100%}.account-dropdown{position:relative;max-width:100%}.account-dropdown>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;user-select:none;border:1px solid #203c5d;border-radius:9px;background:#102541;color:#fff;padding:9px 13px;min-height:46px;max-width:100%;box-shadow:0 3px 10px #1025410d}.account-dropdown>summary::-webkit-details-marker{display:none}.account-dropdown>summary:hover{background:#1d395a}.account-dropdown>summary:focus-visible{outline:2px solid #e5a541;outline-offset:3px}.account-avatar{display:grid;place-items:center;flex:none;width:29px;height:29px;background:#2d4a6b;border-radius:50%;color:#dce9fa}.account-avatar svg{width:19px;height:19px}.account-name{font-size:13px;font-weight:700;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.account-chevron{width:15px;height:15px;flex:none;transition:transform .15s}.account-dropdown[open] .account-chevron{transform:rotate(180deg)}.account-dropdown:not([open])>.account-menu{display:none}.account-menu{position:absolute;right:0;top:calc(100% + 8px);width:260px;max-width:calc(100vw - 44px);z-index:60;background:white;border:1px solid #d8e1ed;border-radius:10px;box-shadow:0 12px 30px #142d4c26;padding:7px;color:#15253e}.account-menu-heading{padding:10px 11px 13px;border-bottom:1px solid #e7edf4;margin-bottom:5px;overflow-wrap:anywhere}.account-menu-heading strong{display:block;font-size:13px}.account-menu-heading small{color:#63758d;font-size:11px;margin-top:4px}.account-menu form{position:static;margin:0;padding:0}.account-menu .account-menu-item{display:block;width:100%;padding:11px 12px;text-align:left;background:transparent;color:#204368;border:0;border-radius:6px;font:500 13px/1.4 system-ui;cursor:pointer;margin:0;text-decoration:none}.account-menu .account-menu-item:hover,.account-menu .account-menu-item:focus-visible{background:#edf3fb;outline:none}.account-menu .account-logout{color:#ad3443}.account-menu .account-logout:hover,.account-menu .account-logout:focus-visible{background:#fff0f1}@media(max-width:620px){.account-topbar{margin-bottom:20px}.account-name{max-width:180px}.account-dropdown>summary{padding:8px 11px}}@media print{.account-topbar{display:none!important}}

/* Supervisor assignments are integrated with the roles they belong to. */
.role-config{padding:14px;border:1px solid #dce4ee;border-radius:10px;background:#fafcff;margin:15px 0}.role-config>.role-label{margin-top:0}.role-approvals{display:grid;gap:10px}.role-approval-row{border-left:3px solid #d99a3e;background:#fff;border-radius:7px;padding:12px;border-top:1px solid #e8edf4;border-right:1px solid #e8edf4;border-bottom:1px solid #e8edf4}.role-approval-row[hidden],.role-approval-empty[hidden]{display:none!important}.role-approval-row label{margin:8px 0}.role-approval-row small{font-size:11px}.role-approval-empty{font-size:12px;color:#667b91;margin:0;padding:4px}.role-config .role-menu{z-index:70}

.account-actions .account-delete{color:#a82637;background:#fde8ec;border-color:#f2cbd3}.account-actions .account-delete:hover{color:#fff;background:#b22c41;border-color:#b22c41}.delete-confirm{max-width:760px;border-top:4px solid #b22c41}.delete-confirm-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Responsive workspace: desktop sidebar, tablet drawer and mobile app navigation. */
html{width:100%;scroll-padding-top:90px}body{min-width:280px}button,a,input,select,textarea{touch-action:manipulation}button,.button{max-width:100%;overflow-wrap:anywhere}img,video,canvas{max-width:100%}section,.grid>* ,form,.workspace,header>div{min-width:0}input,textarea,select{max-width:100%;min-width:0}select{overflow:hidden;text-overflow:ellipsis}.workspace{width:calc(100% - 260px);max-width:none}.app-sidebar{height:100vh;height:100dvh;overflow-y:auto;z-index:100}.sidebar-brand{display:flex;justify-content:space-between;align-items:center;gap:8px}.main-nav a[aria-current=page]{background:#284365;color:white}.skip-link{position:fixed;top:-100px;left:14px;background:white;color:#173b65;padding:12px;z-index:2000}.skip-link:focus{top:10px}.mobile-menu-toggle,.nav-close,.mobile-brand,.mobile-bottom-nav{display:none}.nav-backdrop[hidden]{display:none}.cell-content{min-width:0;overflow-wrap:anywhere}.table-wrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.role-config{min-width:0}.role-dropdown summary{min-width:0}.role-dropdown summary span{min-width:0}.role-menu{max-width:100%}.filters>*{min-width:0}.account-topbar{min-width:0}.account-dropdown{min-width:0}.role-approval-row select{width:100%}header h1{overflow-wrap:anywhere}.main-nav a,.account-menu-item{min-height:44px}
@media(min-width:1024px) and (max-width:1199px){.workspace{padding:28px 24px}.grid{grid-template-columns:1fr}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1023px){
 .workspace{margin:0;width:100%;padding:0 20px 30px;max-width:none}.account-topbar{position:sticky;top:0;z-index:90;background:#fff;align-items:center;gap:10px;justify-content:space-between;margin:0 -20px 20px;width:calc(100% + 40px);padding:calc(8px + env(safe-area-inset-top)) 20px 8px;border-bottom:1px solid #dfe6f0;box-shadow:0 3px 10px #17335308}.mobile-menu-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;background:#edf2f8;color:#173b65;border-radius:10px}.mobile-menu-toggle svg,.nav-close svg{width:24px;height:24px}.mobile-brand{display:block;flex:1;font-weight:800;font-size:15px;letter-spacing:.3px;min-width:0;color:#153557}.mobile-brand span{color:#b87213}.account-dropdown>summary{min-height:44px;padding:7px 10px}.account-name{max-width:150px}.account-menu{max-width:calc(100vw - 32px)}
 .app-sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);height:100vh;height:100dvh;padding:calc(22px + env(safe-area-inset-top)) 20px 24px;transform:translateX(-102%);transition:transform .2s ease;z-index:1400;box-shadow:12px 0 30px #0b203326;visibility:hidden}.nav-open .app-sidebar{transform:translateX(0);visibility:visible}.nav-open{overflow:hidden}.nav-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;background:#24415f;color:#fff}.app-sidebar .brand{font-size:20px}.app-sidebar .main-nav{display:block;margin:24px 0 0}.app-sidebar .main-nav a{display:flex;align-items:center;gap:10px;padding:13px 11px;min-height:48px}.nav-backdrop{position:fixed;inset:0;background:#10243c80;z-index:1300;backdrop-filter:blur(2px)}
 .grid{grid-template-columns:1fr;gap:0}header{gap:12px;align-items:flex-start;margin-bottom:20px}header time{display:block;white-space:nowrap}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}section{padding:20px}.filters{flex-wrap:wrap}.filters input{flex:1 1 250px}.filters select{flex:1 1 180px}
}
@media(max-width:639px){
 body{font-size:14px;background:#f3f5f9}.workspace{padding:0 14px calc(88px + env(safe-area-inset-bottom))}.account-topbar{margin:0 -14px 18px;width:calc(100% + 28px);padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));gap:8px}.mobile-brand{font-size:12px;line-height:1.2}.account-name{font-size:12px;max-width:105px}.account-dropdown>summary{gap:7px;padding:7px 9px}.account-avatar{width:26px;height:26px}.account-chevron{width:13px}.account-menu{width:250px}.account-menu .account-menu-item{min-height:46px;padding:13px 12px}
 header{margin-bottom:18px}header>div>small{font-size:10px;letter-spacing:.5px}header h1{font-size:25px;line-height:1.2;letter-spacing:-.6px}header time{display:none}h2{font-size:19px}h3{font-size:16px}section{border-radius:13px;padding:16px;margin-bottom:16px}.section-title{gap:10px;align-items:flex-start}.section-title>.button{min-height:44px}label{font-size:13px;margin:14px 0}input,textarea,select{font-size:16px;min-height:46px;padding:11px 12px;border-radius:9px}textarea{min-height:105px}input[type=file]{font-size:13px;padding:10px;white-space:normal}input[type=checkbox]{min-height:20px}.role-picker input[type=checkbox]{width:20px;height:20px;min-width:20px}.role-picker label{min-height:46px}.role-dropdown summary{min-height:46px;font-size:14px}.role-menu{max-height:min(360px,60vh)}.role-config{padding:12px}.role-approval-row{padding:10px}.role-approval-row small{line-height:1.5}
 button,.button{min-height:44px;line-height:1.4;padding:11px 14px;font-size:13px;white-space:normal}.workspace section>form>button,.action form>button{width:100%;margin-top:8px}.filters{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.filters input,.filters select{width:100%;margin:0}.filters button{width:100%}.track-grid{grid-template-columns:1fr;gap:10px}.track-step{min-height:0;padding:14px;gap:13px}.track-content>strong{font-size:14px}.track-content small{font-size:11px}.track-summary{padding:16px;gap:12px;align-items:flex-start}.track-summary-main>svg{width:30px;height:30px}.track-summary strong{font-size:18px;line-height:1.35;overflow-wrap:anywhere}.track-legend{font-size:11px;gap:10px;margin:16px 0}.track-icon{width:40px;height:40px}.return-tracker{padding:14px}.return-tracker ol{padding-left:22px}.timeline{margin:17px 0;padding-left:13px}.timeline p{font-size:13px}.compact-track{min-width:0;align-items:flex-start}.compact-track strong{font-size:13px}.compact-track>svg{width:25px;height:25px}
 .table-wrap.is-card-table{overflow:visible}.responsive-cards,#item-table{display:block;width:100%;border:0}.responsive-cards thead,#item-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.responsive-cards tbody,#item-table tbody{display:grid;width:100%;gap:12px}.responsive-cards tr,#item-table tr{display:block;min-width:0;border:1px solid #dce5ef;border-radius:11px;padding:4px 12px;background:#fff;box-shadow:0 2px 7px #18395506}.responsive-cards td,#item-table td{display:grid;grid-template-columns:minmax(72px,.7fr) minmax(0,1.3fr);gap:10px;align-items:start;width:auto!important;min-width:0!important;padding:11px 0;border-bottom:1px solid #edf1f6;font-size:13px;white-space:normal;overflow-wrap:anywhere}.responsive-cards td::before,#item-table td::before{content:attr(data-label);font-size:11px;line-height:1.5;color:#667b91;font-weight:600;overflow-wrap:anywhere}.responsive-cards td:last-child,#item-table td:last-child{border-bottom:0}.responsive-cards td[colspan],#item-table td[colspan]{display:block}.responsive-cards td[colspan]::before,#item-table td[colspan]::before{display:none}.responsive-cards .account-action-cell{display:block;padding:11px 0!important}.responsive-cards .account-action-cell::before{display:block;margin-bottom:8px}.account-actions{display:flex;flex-wrap:wrap;min-width:0;gap:10px}.account-actions .icon-action{width:44px;height:44px;min-height:44px}.is-card-table td input,.is-card-table td:first-child input{min-width:0;width:100%}#item-table td{grid-template-columns:1fr;gap:5px}#item-table td::before{font-size:12px}#item-table td:last-child::before{display:none}#item-table td:last-child button{width:100%;background:#fff0f2;color:#a93244}.is-card-table .cell-content{width:100%;min-width:0}.detail-items .cell-content{font-size:13px}.delete-confirm-actions>*{flex:1 1 120px}
 .mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:100;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;margin:0;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dce4ef;box-shadow:0 -4px 18px #102b4c0b}.mobile-bottom-nav>a{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 3px;min-height:54px;color:#657a90;border-radius:10px;font-size:10px;line-height:1.3;text-decoration:none;min-width:0}.mobile-bottom-nav svg{width:22px;height:22px;flex:none}.mobile-bottom-nav a[aria-current=page]{color:#153f70;background:#edf3fc;font-weight:700}.mobile-bottom-nav b{position:absolute;top:3px;right:calc(50% - 27px);font-size:9px;line-height:15px;min-width:15px;padding:0 4px;border-radius:10px;background:#e69b38;color:#102541}.mobile-bottom-nav a:focus-visible,.mobile-menu-toggle:focus-visible,.nav-close:focus-visible{outline:2px solid #d79a3a;outline-offset:1px}
 .login{width:100%;max-width:480px;margin:0 auto;padding:calc(28px + env(safe-area-inset-top)) 18px 24px;display:block}.login .brand{font-size:21px}.login h1{font-size:clamp(28px,8vw,38px);margin:24px 0 12px}.login>p{font-size:14px;margin-bottom:24px}.login section{padding:22px 18px}.login button{min-height:46px}footer{font-size:10px;padding-bottom:6px}
}
@media(max-width:374px){.mobile-brand{display:none}.account-name{max-width:140px}.responsive-cards td{grid-template-columns:minmax(65px,.65fr) minmax(0,1.35fr);gap:8px}}
@media(prefers-reduced-motion:reduce){.app-sidebar,.account-chevron,.role-dropdown summary svg{transition:none!important}html{scroll-behavior:auto}}
@media print{.mobile-menu-toggle,.mobile-brand,.nav-close,.nav-backdrop,.mobile-bottom-nav,.skip-link{display:none!important}.workspace{width:100%;padding:0;margin:0}.responsive-cards,#item-table{display:table}.responsive-cards thead,#item-table thead{position:static;clip-path:none;width:auto;height:auto;display:table-header-group}.responsive-cards tbody,#item-table tbody{display:table-row-group}.responsive-cards tr,#item-table tr{display:table-row;border:0;box-shadow:none;padding:0}.responsive-cards td,#item-table td{display:table-cell;padding:8px}.responsive-cards td::before,#item-table td::before{display:none!important}}

@media(pointer:coarse){input,select,textarea{font-size:16px;min-height:44px}button,.button,.role-picker label,.account-menu-item{min-height:44px}.account-actions .icon-action{width:44px;height:44px;min-height:44px}.account-actions{grid-template-columns:repeat(3,44px);min-width:148px}.responsive-cards .account-actions{min-width:0}}

.password-panel{max-width:720px}.account-menu .account-menu-item:focus-visible{outline:2px solid #245f9a;outline-offset:-2px}
.attachment-field{display:block}.attachment-label{display:block;margin-bottom:7px}.upload-control{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:46px;border:1px solid #cad4e1;border-radius:9px;background:#fff;padding:6px;min-width:0}.upload-control .upload-input{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;z-index:1}.upload-button{display:flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:6px;background:#eaf1fa;color:#1f4e7e;font-size:12px;white-space:nowrap;flex:none}.upload-filename{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;color:#566f88}.upload-control:focus-within{outline:2px solid #739dca;outline-offset:2px}.attachment-field>small{margin-top:6px;font-weight:400;overflow-wrap:anywhere}.upload-feedback{color:#2d6b48}.upload-feedback[hidden]{display:none}.upload-has-error .upload-control{border-color:#bd3a4d}.upload-has-error .upload-feedback{color:#a82c3f}@media(pointer:coarse),(max-width:639px){.upload-control{min-height:50px}.upload-button{min-height:38px;font-size:13px}.upload-filename{font-size:13px}} 

.upload-limit-page{max-width:680px;margin:8vh auto;padding:20px}

.document-list{display:grid;gap:12px}.document-row{display:flex;align-items:center;gap:13px;border:1px solid #e0e7f0;border-radius:10px;padding:14px;min-width:0}.document-type{display:grid;place-items:center;width:43px;height:49px;border-radius:8px;background:#edf3fc;color:#245684;flex:none;font-weight:800;font-size:11px}.document-info{flex:1;min-width:0}.document-name{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.document-info small{font-size:11px;margin-top:5px}.document-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.document-actions .button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:normal}.document-preview h2{overflow-wrap:anywhere}.document-preview>.section-title>div:first-child{min-width:0;flex:1 1 250px}.pdf-preview{display:block;width:100%;height:75vh;min-height:420px;border:1px solid #d9e3ef;border-radius:9px;background:#f1f4f8}.image-preview{display:grid;place-items:center;min-height:240px;background:#eef2f7;border:1px solid #d9e3ef;border-radius:9px;padding:16px}.image-preview img{display:block;max-width:100%;max-height:80vh;height:auto;object-fit:contain}.document-help{font-size:12px;color:#62778e}@media(max-width:639px){.document-row{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px}.document-info{flex:1 1 calc(100% - 55px)}.document-row>.document-actions{width:100%;padding-top:4px}.document-row>.document-actions .button{flex:1;min-height:44px}.document-preview .document-actions{width:100%}.document-preview .document-actions .button{flex:1 1 90px;min-height:44px}.pdf-preview{height:65vh;min-height:360px}.image-preview{padding:10px;min-height:200px}}@media print{.document-actions{display:none!important}.pdf-preview{height:90vh}.document-row{break-inside:avoid}}

.manual-approval{padding:16px;border:1px solid #b9cce3;border-radius:10px;background:#f4f8fd;margin:16px 0}.manual-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;min-height:44px}.manual-check input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:3px 0;flex:none}.manual-check span{line-height:1.5}


.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.signature-pad{min-width:0;border:1px solid #c4d4e5;border-radius:8px;padding:14px}.signature-pad canvas{display:block;width:100%;height:160px;border:1px dashed #8094ac;background:#fff;touch-action:none;border-radius:5px}.signature-pad [hidden]{display:none!important}.signature-upload-preview{max-width:100%;max-height:160px;object-fit:contain}.rpo-band{background:#c9dfef;color:#111;padding:9px;text-align:center;margin:0 0 18px!important}.rpo-company{text-align:center;color:#102541}.rpo-create .grid{margin-bottom:20px}.rpo-paper{background:#fff;color:#111;max-width:100%;font:13px/1.5 Arial,sans-serif;padding:16px}.rpo-paper h1{text-align:center;font-size:23px;margin:0 0 12px;letter-spacing:0}.rpo-paper h2{font-size:19px}.rpo-paper table{border-collapse:collapse;width:100%;margin:0 0 20px;table-layout:fixed}.rpo-paper td,.rpo-paper th{border:1px solid #333;padding:6px;white-space:normal;overflow-wrap:anywhere;color:#111;font-size:12px}.rpo-paper .rpo-meta th{background:#fff;text-align:left;width:36%}.rpo-paper .rpo-products th{background:#c9dfef}.rpo-products th:first-child{width:6%}.rpo-products th:nth-child(2){width:25%}.rpo-signature{border:1px solid #333;min-width:0}.rpo-signature>strong,.rpo-signature>p,.rpo-signature>div{display:block;margin:0;padding:6px;border-bottom:1px solid #333;overflow-wrap:anywhere}.rpo-signature img{max-width:100%;width:180px;height:80px;object-fit:contain;vertical-align:middle}.rpo-signature>p:last-child{border-bottom:0}.rpo-attachments{min-height:180px;overflow-wrap:anywhere}.rpo-attachments p{margin:5px 0}.rpo-purchasing{color:#175eae;font-size:14px}.rpo-footer{text-align:right}.rpo-print-view{padding:20px;background:#edf1f6}.rpo-print-view .rpo-paper{width:210mm;margin:20px auto;padding:12mm}.rpo-print-actions{display:flex;gap:12px;max-width:210mm;margin:0 auto;flex-wrap:wrap}
@media(max-width:639px){.signature-grid{grid-template-columns:1fr}.rpo-paper{padding:8px}.rpo-print-view{padding:8px}.rpo-print-view .rpo-paper{width:100%;padding:8px}.rpo-products{min-width:650px}.rpo-create .table-wrap{overflow-x:auto}}
@media print{@page{size:A4 portrait;margin:10mm}.rpo-print-view{padding:0;background:#fff}.rpo-print-view .rpo-paper{width:100%;max-width:none;margin:0;padding:0;display:block!important}.rpo-print-actions{display:none!important}.rpo-paper .signature-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:0;break-inside:avoid}.rpo-paper table{display:table!important;min-width:0!important}.rpo-paper thead{display:table-header-group!important}.rpo-paper tr{display:table-row!important}.rpo-paper th,.rpo-paper td{display:table-cell!important;padding:5px;font-size:10px}.rpo-paper .table-wrap{overflow:visible!important}.rpo-paper th{print-color-adjust:exact;-webkit-print-color-adjust:exact}.rpo-paper a{color:#111;text-decoration:none}.rpo-paper a::after{content:none!important}.rpo-paper .rpo-attachments{min-height:90mm}.rpo-paper .rpo-signature{break-inside:avoid}}
@media print{.rpo-paper .rpo-attachments{min-height:35mm}.rpo-paper h1{font-size:20px;margin-bottom:8px}.rpo-paper h2{font-size:16px}.rpo-paper table{margin-bottom:12px}.rpo-paper .signature-grid{margin:14px 0}.rpo-paper .rpo-signature img{height:60px}.rpo-paper .rpo-footer{font-size:9px}}

.rpo-evidence-page{margin-top:24px}.evidence-meta{display:grid;gap:4px;margin:12px 0 16px;font-size:12px;overflow-wrap:anywhere}.evidence-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.evidence-media{display:flex;justify-content:center;align-items:center;min-width:0}.evidence-media img{display:block;width:auto;max-width:100%;height:auto;max-height:220mm;object-fit:contain}.evidence-page-label{margin-top:14px;text-align:center}.rpo-print-status{font-size:12px;color:#627790}.pdf-evidence-status{max-width:210mm;margin:20px auto;padding:12px;background:#fff3d8;border-radius:8px}
@media print{.rpo-evidence-page{break-before:page;page-break-before:always;margin:0!important;padding:0!important;box-sizing:border-box}.rpo-evidence-page h1{font-size:17px}.rpo-evidence-page h2{font-size:13px}.rpo-evidence-page .evidence-meta{font-size:10px;margin:8px 0}.rpo-evidence-page .evidence-media img{max-width:100%;max-height:218mm;object-fit:contain}.evidence-actions{display:none!important}.evidence-page-label{margin-top:6px;font-size:9px}.pdf-evidence-status{background:white;color:#111}.rpo-evidence-page .rpo-band{margin-bottom:8px!important}}

.rpo-print-view .department-evidence-link,
.rpo-print-view .manual-proof-note,
.rpo-print-view .evidence-meta,
.rpo-print-view .evidence-actions {
  display: none;
}

.requests-table [data-request-row] { cursor: pointer; }
.requests-table [data-request-row]:hover,
.requests-table [data-request-row]:focus-within { background: #edf3fc; }
.request-detail-link { display: block; }
.request-detail-link:focus-visible { outline: 2px solid #245684; outline-offset: 3px; }

.amount {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 16px;
  row-gap: 6px;
  width: min(calc(100% - 12px), 300px);
  margin: 16px 12px 0 auto;
}
.amount dd {
  margin: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.amount-total {
  border-top: 1px solid #dce5ef;
  padding-top: 8px;
  font-size: 1.1rem;
  font-weight: 700;
}

.detail-items th:last-child,
.detail-items td:last-child {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.detail-items th:last-child {
  padding-right: 12px;
}
.detail-items td:last-child::before {
  text-align: left;
}
@media (max-width: 639px) {
  .amount {
    width: min(calc(100% - 13px), 300px);
    margin-right: 13px;
  }
}

.request-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px 24px;
}
.request-heading-main {
  min-width: 0;
  overflow-wrap: anywhere;
}
.request-heading-main h2 {
  margin: 4px 0 8px;
}
.request-heading-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
}
.request-heading-actions .request-action-icon {
  display: inline-grid;
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  place-items: center;
  padding: 0;
}
.request-action-icon svg {
  width: 22px;
  height: 22px;
}
.request-overview {
  display: grid;
  gap: 16px 24px;
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid #dce5ef;
  border-radius: 10px;
  background: #f6f8fb;
}
.request-overview--has-vendor {
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}
.request-overview h3 {
  margin: 0 0 12px;
  color: #163758;
  font-size: 14px;
}
.request-overview-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  margin: 0;
}
.request-overview dt {
  font-size: 12px;
  color: #53667e;
}
.request-overview dd {
  margin: 3px 0 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.request-overview-reason {
  grid-column: 1 / -1;
}
.request-overview-reason dd {
  font-weight: 400;
}
.request-overview-vendor {
  border-left: 1px solid #dce5ef;
  padding-left: 24px;
}
.request-overview-vendor .request-overview-fields {
  grid-template-columns: minmax(0, 1fr);
}
@media (max-width: 639px) {
  .request-heading-actions { width: 100%; }
  .request-heading-actions .button:not(.request-action-icon) {
    flex: 1 1 150px;
    text-align: center;
  }
  .request-overview--has-vendor { grid-template-columns: minmax(0, 1fr); }
  .request-overview-vendor {
    padding: 14px 0 0;
    border-left: 0;
    border-top: 1px solid #dce5ef;
  }
}

.rpo-purchase-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  padding: 4px 0 12px;
  border-bottom: 1px solid #dce5ef;
  overflow-wrap: anywhere;
}
.rpo-purchase-identity h3 {
  flex: 1 1 180px;
  min-width: 0;
  margin: 0;
  color: #163758;
  font-size: 19px;
}
.rpo-purchase-reference {
  padding: 6px 10px;
  border-radius: 6px;
  background: #edf3fc;
  color: #163758;
}
.rpo-purchase-page .request-overview {
  margin: 12px 0 16px;
}
.rpo-purchase-page .request-overview-fields {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.rpo-purchase-page .request-overview-fields > div {
  display: grid;
  grid-template-columns: minmax(0, 128px) minmax(0, 1fr);
  gap: 2px 8px;
  align-items: baseline;
}
.rpo-purchase-page .request-overview dd {
  margin: 0;
}
@media screen and (max-width: 639px) {
  .rpo-purchase-page .request-overview-fields > div {
    grid-template-columns: minmax(0, 1fr);
  }
}
.rpo-purchase-page .detail-items {
  min-width: 480px;
}
.rpo-purchase-page .detail-items th:first-child { width: 36%; }
.rpo-purchase-page .detail-items th:nth-child(2),
.rpo-purchase-page .detail-items th:nth-child(3) { width: 12%; }
.rpo-purchase-page .detail-items th:nth-child(4),
.rpo-purchase-page .detail-items td:nth-child(4) { text-align: right; }

@media print {
  .rpo-purchase-page { break-before: page; }
  .rpo-purchase-identity,
  .rpo-purchase-page .request-overview,
  .rpo-purchase-page .detail-items tr,
  .rpo-purchase-page .amount { break-inside: avoid; }
  .rpo-purchase-page .amount { margin-right: 5px; }
  .rpo-purchase-page .detail-items th:last-child,
  .rpo-purchase-page .detail-items td:last-child { padding-right: 5px; }
}

.track-refresh {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.track-refresh svg {
  width: 16px;
  height: 16px;
}
.track-summary {
  flex-wrap: wrap;
  justify-content: space-between;
  background: linear-gradient(112deg, #102d4f, #18426a);
}
.track-summary-main {
  display: flex;
  flex: 1 1 280px;
  align-items: center;
  gap: 14px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.track-summary-main > svg {
  width: 48px;
  height: 48px;
  padding: 10px;
  border-radius: 12px;
  background: #ffffff18;
}
.track-progress {
  flex: 0 1 210px;
  max-width: 100%;
}
.track-progress small {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.track-progress label { margin: 0; font: inherit; }
.track-progress b { color: #fff; }
.track-progress progress {
  display: block;
  width: 100%;
  height: 7px;
  margin-top: 8px;
  accent-color: #ffc66b;
}
.track-step {
  gap: 14px;
}
.track-step .step-state {
  display: inline-block;
  border-radius: 20px;
  padding: 2px 7px;
  background: #e8edf3;
}
.track-step.done .step-state { background: #dcefe3; }
.track-step.current .step-state { background: #ffe4b6; }
.track-step.rejected .step-state,
.track-step.returning .step-state { background: #fbdde0; color: #9e2d3b; }
@media screen and (min-width: 1500px) {
  .track-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media screen and (max-width: 639px) {
  .track-progress { flex: 1 1 100%; }
}
@media print {
  .track-summary { background: #edf2f7; }
  .track-progress b { color: #15253e; }
}

.timeline:target {
  background: #edf3fc;
  border-radius: 0 8px 8px 0;
}

.request-chart {
  border-top: 4px solid #ed9b35;
}
.request-chart-totals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.request-chart-totals > div {
  padding: 12px 14px;
  border: 1px solid #dce5ef;
  border-radius: 9px;
  background: #f5f8fc;
}
.request-chart-totals dt {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  color: #405975;
  overflow-wrap: anywhere;
}
.request-chart-totals dt svg { width: 15px; height: 15px; flex: none; }
.request-chart-totals dd {
  margin: 4px 0 0;
  font-size: 24px;
  font-weight: 750;
  color: #163758;
  font-variant-numeric: tabular-nums;
}
.request-chart-list {
  display: grid;
  gap: 0;
  margin: 0;
  border: 1px solid #dce5ef;
  border-radius: 9px;
  overflow: hidden;
}
.request-chart-row {
  display: grid;
  grid-template-columns: minmax(120px, 22%) minmax(0, 1fr);
  align-items: center;
  gap: 8px 16px;
  padding: 12px 14px;
}
.request-chart-row + .request-chart-row { border-top: 1px solid #e8edf4; }
.request-chart-row dt {
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 700;
}
.request-chart-row dd {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin: 0;
}
.request-chart-row strong {
  min-width: 7ch;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.request-chart-meter {
  display: block;
  appearance: none;
  width: 100%;
  height: 14px;
  border: 0;
  border-radius: 5px;
  background: #e9eff6;
}
.request-chart-meter::-webkit-meter-bar { background: #e9eff6; border: 0; }
.request-chart-meter::-webkit-meter-optimum-value { background: #2b6090; }
.request-chart-meter::-moz-meter-bar { background: #2b6090; }
.request-chart-meter--leader::-webkit-meter-optimum-value { background: #d58828; }
.request-chart-meter--leader::-moz-meter-bar { background: #d58828; }
.request-chart-row strong small { display: inline; font-weight: 400; }
.request-chart-leader {
  display: inline-block;
  margin-left: 4px;
  padding: 2px 6px;
  border-radius: 12px;
  background: #fff0d9;
  color: #854809;
  font-size: 10px;
}
.request-chart-empty { margin: 0; color: #53667e; }
@media (max-width: 639px) {
  .request-chart-row { grid-template-columns: minmax(0, 1fr); }
  .request-chart-totals { gap: 6px; }
  .request-chart-totals > div { padding: 8px; }
  .request-chart-totals dt { display: block; font-size: 11px; }
  .request-chart-totals dt svg { display: block; margin-bottom: 3px; }
  .request-chart-totals dd { font-size: 20px; }
}

.approval-decision-heading { margin-bottom: 18px; }
.approval-decision-heading small {
  color: #53667e;
  font-weight: 700;
  letter-spacing: .08em;
}
.approval-decision-heading h2 { margin: 4px 0; }
.approval-decision-heading p,
.approval-decision-card-heading p { margin: 0; color: #53667e; }
.approval-decision-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.approval-decision-card {
  --decision-accent: #165b42;
  --decision-icon-bg: #dcefe5;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cbe2d6;
  border-radius: 12px;
  background: #f5faf7;
}
.approval-decision-card--reject {
  --decision-accent: #9a2e3e;
  --decision-icon-bg: #f8e0e4;
  border-color: #eed5da;
  background: #fdf7f8;
}
.approval-decision-card-heading { display: flex; align-items: flex-start; gap: 12px; }
.approval-decision-card-heading h3 { margin: 0 0 2px; }
.approval-decision-icon {
  display: grid;
  flex: 0 0 38px;
  height: 38px;
  place-items: center;
  border-radius: 9px;
  background: var(--decision-icon-bg);
  color: var(--decision-accent);
}
.approval-decision-icon svg { width: 21px; height: 21px; }
.approval-decision-card label { margin: 14px 0 12px; }
.approval-decision-card select,
.approval-decision-card textarea { display: block; margin-top: 6px; background: #fff; }
.approval-decision-card button {
  align-self: flex-start;
  margin-top: auto;
  min-height: 44px;
  background: var(--decision-accent);
}
.approval-decision-card button:hover { filter: brightness(.9); }
@media (max-width: 767px) {
  .approval-decision-options { grid-template-columns: minmax(0, 1fr); }
  .approval-decision-card { padding: 14px; }
}

.finance-submission { border-top: 3px solid #24527c; }
.finance-submission-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.finance-submission-heading h2 { margin: 0 0 3px; }
.finance-submission-heading p { margin: 0; color: #53667e; }
.finance-submission-icon {
  display: grid;
  flex: 0 0 44px;
  height: 44px;
  place-items: center;
  border-radius: 10px;
  background: #e8eff7;
  color: #24527c;
}
.finance-submission-icon svg { width: 24px; height: 24px; }
.finance-submission-fields {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 16px;
  padding: 16px;
  border: 1px solid #dce5ef;
  border-radius: 10px;
  background: #f6f8fb;
}
.finance-submission-fields label { margin: 0; }
.finance-submission-fields label span { margin-left: 5px; color: #53667e; font-weight: 400; }
.finance-submission-fields select,
.finance-submission-fields textarea { display: block; margin-top: 6px; background: #fff; }
.finance-submission-fields select { min-height: 44px; }
.finance-submission-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}
.finance-submission-history { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.finance-submission-history svg { width: 18px; height: 18px; flex: none; }
.finance-submission-footer button { min-height: 44px; }
@media (max-width: 767px) {
  .finance-submission-fields { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .finance-submission-footer button { width: 100%; }
}

.track-finance-group {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 14px;
  border: 1px solid #d9e4ef;
  border-radius: 11px;
  background: #f6f8fb;
}
.track-finance-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.track-finance-heading svg { width: 24px; height: 24px; flex: none; color: #24527c; }
.track-finance-heading small { font-weight: 700; letter-spacing: .06em; }
.track-finance-heading h3 { margin: 0; }
.track-finance-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.track-finance-steps .track-step { min-height: 0; }
@media (max-width: 767px) {
  .track-finance-steps { grid-template-columns: minmax(0, 1fr); }
}

.compact-track--received > svg {
  color: #16704b;
  background: #e1f3e9;
  border-radius: 50%;
  padding: 4px;
}

.admin-management-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: start;
  gap: 20px;
  margin-bottom: 20px;
}
.admin-management .admin-panel {
  margin: 0;
  padding: clamp(16px, 2vw, 26px);
  border-color: #dbe5f0;
  border-radius: 14px;
  box-shadow: 0 3px 10px #10254108;
}
.admin-panel-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
}
.admin-panel-icon {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 11px;
  background: #eaf2fc;
  color: #174779;
}
.admin-panel-icon svg, .department-delete svg { width: 20px; height: 20px; flex: none; }
.admin-panel-heading h2 { margin: 0; color: #102541; }
.admin-panel-heading p { margin: 3px 0 0; color: #536781; font-size: 13px; }
.admin-department-form > label, .admin-account-credentials label { margin: 0; }
.admin-department-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 8px;
  margin-top: 6px;
}
.admin-department-entry input, .admin-department-entry button { margin: 0; min-height: 44px; }
.admin-department-directory { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e5ecf4; }
.admin-directory-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.admin-directory-heading h3 { margin: 0; font-size: 15px; }
.department-list { display: grid; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.department-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 8px 5px 12px;
  border: 1px solid #e4ebf4;
  border-radius: 9px;
  background: #f8fafd;
}
.department-list strong { min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.department-delete {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 5px 8px;
  border-radius: 7px;
  color: #9c2538;
  font-size: 12px;
  font-weight: 650;
}
.department-delete svg { width: 16px; height: 16px; }
.department-delete:hover, .department-delete:focus-visible { background: #fde8ec; text-decoration: none; }
.admin-empty-state { margin: 10px 0 0; padding: 12px; border: 1px dashed #cad8ea; border-radius: 9px; color: #536781; font-size: 13px; }
.admin-account-credentials { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 14px; }
.admin-account-credentials small { margin-top: 5px; }
.admin-account-form .role-config { background: #f8fafd; }
.admin-form-footer { display: flex; justify-content: flex-end; border-top: 1px solid #e5ecf4; padding-top: 14px; }
.admin-form-footer button { min-height: 44px; }
.admin-accounts-panel .table-wrap { border: 1px solid #e4ebf4; border-radius: 10px; }
.admin-accounts-panel table { margin: 0; }
.admin-accounts-panel th { background: #f2f6fc; color: #27476d; }
.admin-account-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 20px; font-size: 12px; font-weight: 650; }
.admin-account-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.admin-account-status.is-active { color: #146343; background: #e8f6ee; }
.admin-account-status.is-inactive { color: #4f5c6e; background: #edf1f5; }

@media (max-width: 1150px) {
  .admin-department-entry { grid-template-columns: 1fr; }
  .admin-department-entry button { justify-self: start; }
}
@media (max-width: 900px) {
  .admin-management-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-bottom: 14px; }
  .admin-accounts-panel .table-wrap.is-card-table { border: 0; }
}
@media (max-width: 560px) {
  .admin-account-credentials { grid-template-columns: 1fr; gap: 12px; }
  .admin-department-entry button, .admin-form-footer button { width: 100%; }
  .department-delete { min-height: 44px; }
}

.account-departments {
  min-width: 0;
  margin: 16px 0;
  padding: 12px 14px;
  border: 1px solid #dce4ee;
  border-radius: 10px;
}
.account-departments legend { padding: 0 5px; font-size: 13px; font-weight: 650; }
.account-department-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 8px; }
.account-department-options:not(:empty) { margin-top: 9px; }
.account-department-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #e0e8f2;
  border-radius: 8px;
  background: #f8fafd;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.account-department-options label:has(input:checked) { border-color: #b6cdec; background: #eaf2fc; }
.account-department-options input[type="checkbox"] { flex: 0 0 18px; width: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: #174779; }
.account-department-options span { min-width: 0; }

.department-edit {
  max-width: 1040px;
  margin-inline: auto;
  padding: 0;
  border: 1px solid #dbe5f0;
  border-radius: 16px;
  box-shadow: 0 4px 16px #1025410a;
}
.department-edit-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: clamp(16px, 2.5vw, 28px);
  border-radius: 15px 15px 0 0;
  background: #f6f9fd;
}
.department-edit-heading { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.department-edit-heading small { margin-bottom: 4px; color: #325779; font-weight: 650; }
.department-edit-heading h2 { margin: 0; color: #102541; font-size: clamp(18px, 2vw, 23px); line-height: 1.3; }
.department-edit-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 10px;
  background: #e6effb;
  color: #174779;
}
.department-edit-icon svg { width: 23px; height: 23px; }
.department-edit-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 14px;
  padding: 14px clamp(16px, 2.5vw, 28px);
  border-block: 1px solid #e4ebf4;
}
.department-edit-summary > div { min-width: 0; overflow-wrap: anywhere; }
.department-edit-summary small { margin-bottom: 4px; }
.department-edit-summary strong { font-size: 14px; }
.department-edit-form, .department-edit-unavailable { padding: clamp(16px, 2.5vw, 28px); }
.department-edit-unavailable { margin: 0; }
.department-edit-form .manual-approval {
  min-width: 0;
  margin: 0 0 18px;
  padding: 12px 14px 14px;
  border-color: #d2deed;
  background: #f8fafd;
}
.department-edit-form .manual-approval legend { padding: 0 5px; color: #244567; font-size: 14px; font-weight: 650; }
.department-edit-form .manual-check {
  align-items: center;
  margin: 0 0 10px;
  padding: 9px 12px;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  background: #fff;
}
.department-edit-form .manual-check:has(input:checked) { border-color: #adcaec; background: #ecf4ff; }
.department-edit-form .manual-check input { accent-color: #174779; }
.department-edit-form [data-department-manual-panel]:not([hidden]) { margin-top: 14px; padding-top: 6px; border-top: 1px solid #dce5f0; }
.department-edit-note { margin: 0; }
.department-edit-note small { display: inline; margin-left: 4px; font-weight: 400; }
.department-edit-form textarea { min-height: 88px; resize: vertical; }
.department-edit-footer { display: flex; justify-content: flex-end; margin-top: 18px; padding-top: 14px; border-top: 1px solid #e4ebf4; }
.department-edit-footer button { min-height: 44px; }

@media (max-width: 640px) {
  .department-edit-summary { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .department-edit-footer button { width: 100%; }
}

[data-notification-count][hidden] { display: none; }
.notification-open, .notification-open:hover {
  display: inline-block;
  min-height: 0;
  padding: 4px 0;
  background: transparent;
  color: #175eae;
  text-align: left;
  font: inherit;
  overflow-wrap: anywhere;
}
.notification-open:hover { text-decoration: underline; }
.notification-open:focus-visible { outline: 2px solid #245f9a; outline-offset: 2px; }
.notification-unread-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.receipt-decision { border-top: 3px solid #24527c; }
.receipt-decision-card--return {
  --decision-accent: #80440e;
  --decision-icon-bg: #fae9cf;
  border-color: #ecd9b9;
  background: #fffbf4;
}
.receipt-decision .approval-decision-card textarea { min-height: 86px; resize: vertical; }
.receipt-decision .approval-decision-card > label:last-of-type { margin-bottom: 16px; }
@media (max-width: 767px) {
  .receipt-decision .approval-decision-card button { align-self: stretch; }
}

body.login-background {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  background-color: #102541;
  background-image: linear-gradient(90deg, #102541d9, #1025414d), url("prima-group-login.jpg");
  background-position: center, 55% center;
  background-repeat: no-repeat;
  background-size: cover;
}
.login-background .login {
  display: block;
  width: 100%;
  max-width: 480px;
  margin: auto;
  padding: calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));
}
.login-brand {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin-bottom: 20px;
  text-align: center;
}
.login-brand img {
  display: block;
  width: 112px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 16px #10254155;
}
.login-background .login-brand .brand {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 5vw, 32px);
  letter-spacing: .035em;
  line-height: 1.2;
}
.login-background .login section { margin-bottom: 0; }
@media (max-width: 767px) {
  body.login-background {
    background-image: linear-gradient(180deg, #102541d9, #10254180), url("prima-group-login.jpg");
  }
}

/* Compact screen layout. Keep touch targets and form text usable on phones. */
@media screen and (max-width: 1023px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  .workspace { padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right)); }
  .account-topbar {
    margin-inline: calc(0px - max(14px, env(safe-area-inset-left))) calc(0px - max(14px, env(safe-area-inset-right)));
    width: auto;
    padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right));
    margin-bottom: 12px;
  }
  .workspace > header { margin-bottom: 12px; }
  .workspace section { padding: 14px; margin-bottom: 12px; }
  .app-sidebar { width: min(266px, 86vw); padding-inline: 14px; }
  .app-sidebar .main-nav { margin-top: 16px; }
  .app-sidebar .main-nav a { min-height: 44px; padding: 9px 10px; }
  .workspace .table-wrap:not(.is-card-table) { overflow-x: auto; }
}

@media screen and (max-width: 639px) {
  html { scroll-padding-top: 56px; }
  .workspace {
    --gutter-left: max(8px, env(safe-area-inset-left));
    --gutter-right: max(8px, env(safe-area-inset-right));
    padding: 0 var(--gutter-right) calc(56px + env(safe-area-inset-bottom)) var(--gutter-left);
  }
  .account-topbar {
    gap: 4px;
    margin-bottom: 7px;
    margin-inline: calc(0px - var(--gutter-left)) calc(0px - var(--gutter-right));
    padding: calc(1px + env(safe-area-inset-top)) var(--gutter-right) 1px var(--gutter-left);
  }
  .mobile-menu-toggle, .nav-close { padding: 8px; }
  .mobile-menu-toggle svg, .nav-close svg { width: 18px; height: 18px; }
  .mobile-bottom-nav { gap: 2px; padding-top: 1px; padding-bottom: calc(1px + env(safe-area-inset-bottom)); }
  .mobile-bottom-nav > a { min-height: 44px; gap: 2px; padding: 3px 2px; }
  .mobile-bottom-nav svg { width: 16px; height: 16px; }

  .workspace > header { margin-bottom: 8px; }
  header h1 { font-size: 19px; }
  h2 { font-size: 16px; }
  h3 { font-size: 14px; }
  .workspace section, .admin-management .admin-panel { padding: 8px; border-radius: 8px; }
  .workspace section { margin-bottom: 7px; }
  .workspace button, .workspace .button { padding: 7px 10px; }
  .workspace label { margin-block: 6px; }
  .workspace input:not([type="checkbox"]):not([type="radio"]),
  .workspace textarea, .workspace select, .login input {
    font-size: 16px;
    min-height: 44px;
    padding: 7px 9px;
  }
  .workspace textarea { min-height: 64px; }
  .workspace .role-picker label, .workspace .role-dropdown summary { min-height: 44px; }
  .workspace .filters { grid-template-columns: minmax(0, 1fr) auto; gap: 5px; }
  .workspace .filters > input:first-child { grid-column: 1 / -1; }

  .request-chart-totals { margin-bottom: 6px; gap: 4px; }
  .request-chart-totals dt svg { display: none; }
  .request-chart-totals > div { padding: 4px 5px; }
  .request-chart-totals dd { font-size: 16px; margin-top: 2px; }
  .request-chart-row { gap: 3px; padding: 5px 7px; }
  .request-heading, .request-overview { gap: 6px; }
  .request-heading-main h2 { margin-block: 3px 5px; }
  .request-overview-fields { gap: 6px 10px; }
  .request-overview-vendor { padding-top: 8px; }
  .track-grid, .track-finance-steps { gap: 6px; }
  .track-step, .track-finance-group, .track-summary { padding: 6px; gap: 6px; }
  .track-icon { width: 28px; height: 28px; }
  .track-legend { margin-block: 6px; }

  .responsive-cards tbody, #item-table tbody { gap: 5px; }
  .responsive-cards tr, #item-table tr { padding-inline: 6px; }
  .responsive-cards td, #item-table td { padding-block: 4px; gap: 5px; }
  .responsive-cards .account-action-cell { padding: 6px 0 !important; }
  .document-row { gap: 5px; padding: 6px; }
  .document-type { width: 34px; height: 36px; }
  .document-info { flex-basis: calc(100% - 40px); }
  .approval-decision-card, .finance-submission-fields { padding: 9px; }
  .approval-decision-heading, .finance-submission-heading, .admin-panel-heading { margin-bottom: 10px; }

  .login-background .login {
    max-width: 328px;
    padding: calc(10px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
      calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  }
  .login-brand { gap: 5px; margin-bottom: 8px; }
  .login-brand img { width: 60px; }
  .login-background .login-brand .brand { font-size: 18px; }
  .login-background .login section { padding: 10px; border-radius: 9px; }
  .login label { margin-block: 6px; }
}
