:root{--ink:#292638;--muted:#777f91;--primary:#501c5c;--line:#e5e7ee;--bg:#f6f7fa;--sidebar:250px}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.5 Segoe UI,Arial,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.2;margin-bottom:12px;font-weight:650}h2{font-size:16px;margin:0;font-weight:650}h3{font-size:17px}small{font-size:12px}td small{display:block;color:var(--muted);margin-top:5px}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:27px;letter-spacing:-1px;font-weight:700;position:relative;margin-bottom:45px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);border-radius:11px;color:#fff;width:42px;height:42px;font-size:29px;font-weight:700}.brand-sub{position:absolute;left:55px;top:38px;font-size:9px;letter-spacing:2.5px;color:var(--muted)}.workspace{font-size:9px;letter-spacing:1.4px;color:var(--muted);padding:0 10px 26px}.workspace strong{display:flex;font-size:13px;letter-spacing:0;color:var(--ink);margin-top:10px;justify-content:space-between}.workspace strong span{font-size:10px;background:#eff2f7;padding:2px 6px;border-radius:4px}nav a{display:flex;align-items:center;gap:12px;padding:13px 12px;margin-bottom:6px;font-weight:600;font-size:12px;border-radius:7px;color:#74768b}nav a span{font-size:20px;line-height:1}nav a:hover,nav a.active{background:#f1eaf5;color:var(--primary)}.sidebar-bottom{margin-top:auto}.local-label{font-size:8px;letter-spacing:1.1px;color:#82869a;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.profile{display:flex;gap:11px;align-items:center;font-size:12px}.profile small{display:block;color:var(--muted);font-size:11px}.avatar{border-radius:50%;background:#eee5f2;color:#633c70;width:35px;height:35px;display:grid;place-items:center;font-weight:650}.logout{background:none;border:0;color:var(--muted);padding:15px 0 0;font-size:11px}.shell{margin-left:var(--sidebar)}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:12px;color:#768296}.slash{padding:0 10px;color:#bdc8c2}.top-badge{border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-size:11px}main{padding:36px 40px;max-width:1700px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.page-heading p:last-child{margin-bottom:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:var(--primary);margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dedee9;border-radius:7px;padding:10px 16px;background:#fff;color:#46526b;font-size:12px;font-weight:600;white-space:nowrap;min-height:39px}.button:hover{background:#f2edf6}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 3px #501c5c15}.button.primary:hover{background:#3b1445}.full{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.stat{border:1px solid var(--line);background:#fff;border-radius:10px;padding:21px 23px;box-shadow:0 2px 2px #163d2503}.stat>span{display:flex;justify-content:space-between;color:#747f95;font-size:11px;font-weight:600}.stat strong{font-size:33px;font-weight:600;display:block;margin:7px 0}.stat small{font-size:11px;color:#929aab}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;margin-top:4px}.amber{background:#d3a14e}.blue{background:#6b9aae}.green{background:#459d72}.panel{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden;margin-bottom:22px}.panel-heading{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading p{margin:5px 0 0}.filters{padding:0 24px 22px;display:flex;gap:12px;align-items:center}.search-label{flex:1;position:relative}.search-label span{position:absolute;left:14px;top:7px;font-size:21px;color:#9199ab}.search-label input{padding-left:40px}.filters input,.filters select{background:#fff;font-size:12px}.filters select{width:190px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th{background:#fafbfe;color:#8c94a6;font-size:9px;font-weight:650;letter-spacing:1px;text-align:left;padding:14px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:20px 24px;border-bottom:1px solid #edf0f6;font-size:12px}tr:last-child td{border-bottom:0}.report-title{font-size:13px;font-weight:650}.report-title:hover{color:var(--primary)}.right{text-align:right}.nowrap{white-space:nowrap}.amount{font-weight:650;font-variant-numeric:tabular-nums}.amount small{font-weight:400;font-size:10px}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:10px;font-weight:600;white-space:nowrap}.draft{background:#f0f2f1;color:#7f8a84}.pending{background:#fcf4df;color:#9d7625}.returned{background:#fff0eb;color:#b06a52}.approved{background:#eaf2f9;color:#4a789a}.paid{background:#e6f3eb;color:#378461}.arrow-link{font-size:19px;color:#678bb0}.panel-footer{padding:15px 24px;border-top:1px solid var(--line);font-size:10px;color:#8b93a7;display:flex;justify-content:space-between}.footnote{color:#9299aa;text-align:center;font-size:10px;margin-top:28px}.empty{text-align:center;padding:45px 15px;color:var(--muted)}.empty>span{font-size:30px;color:#678bb0}.empty h3{color:var(--ink);margin:15px 0 6px}.empty p{font-size:12px}.text-link{font-size:12px;color:var(--primary);font-weight:600}.back{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:25px}.heading-actions{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.summary-card{padding:24px}.summary-card h2{margin-bottom:15px}.total{font-size:32px;font-weight:600;letter-spacing:-1px;margin-bottom:22px}.total span{font-size:13px;letter-spacing:0;margin-left:8px;color:var(--muted)}dl{margin:0 0 24px}dl>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}dt{color:var(--muted)}dd{margin:0}.notice{font-size:12px;color:#85734a;background:#fcf8ed;padding:13px;border-radius:7px}.counter{font-size:11px;margin-left:8px;background:#eef3ef;padding:3px 8px;border-radius:12px}.expense-form{padding:0 24px 24px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.expense-form p{margin-bottom:18px}.expense-form button{justify-self:start}.expense-form p[hidden]{display:none}label{display:block;font-size:12px;font-weight:600;color:#535770;margin-bottom:7px}input,select,textarea{display:block;width:100%;border:1px solid #dedee9;border-radius:6px;background:#fff;padding:10px 11px;color:var(--ink);min-height:39px}input:focus,select:focus,textarea:focus{outline:2px solid #8b72a4;outline-offset:1px}input[type=file]{font-size:11px;background:#fafbfe;border-style:dashed}textarea{resize:vertical}.form-panel{max-width:750px;padding:28px}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.errorlist{padding:10px 16px 10px 28px;background:#fff1ef;color:#a04337;font-size:12px;border-radius:6px}.helptext{display:block;font-size:11px;color:var(--muted);margin-top:6px}.message{padding:13px 18px;border:1px solid #c7dfcf;border-radius:7px;background:#eaf6ed;margin-bottom:22px;color:#32684a}.message.error{background:#fff1ef;border-color:#f1d5cf;color:#9b443b}.delete-link{padding:4px 0 0;border:0;background:none;color:#b27363;font-size:10px}.return-button{margin-top:10px}.history-event{display:flex;gap:15px;padding:0 24px 24px;font-size:12px}.history-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#678bb0;margin-top:6px}.history-event p{color:var(--muted);font-size:10px;margin:4px 0}.history-event blockquote{margin:10px 0 0;padding:12px;background:#f7f6fa;border-left:2px solid #d9d9eb;white-space:pre-wrap;overflow-wrap:anywhere}.payment-info{background:#eef7f0;color:#3d7653;padding:15px;border-radius:7px;font-size:12px;overflow-wrap:anywhere}.payment-info p{margin:8px 0 0}tfoot td{background:#f6f7fb;font-size:11px;padding:20px 24px}.auth-shell{margin:0}.auth-shell main{padding:0;max-width:none}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#085774;color:#f5f6fc;padding:60px 65px;display:flex;flex-direction:column;justify-content:space-between}.login-story .brand-icon{background:#d6e7bb;color:#224838}.login-story h1{font-size:64px;letter-spacing:-3px;line-height:1.1}.login-story .eyebrow{color:#c2d8ef}.login-story p:not(.eyebrow){color:#c5d8e8;line-height:1.8}.login-story small{color:#a8c5da}.login-card{max-width:410px;width:100%;align-self:center;justify-self:center;padding:40px}.login-card h2{font-size:25px;margin:0 0 10px;letter-spacing:-.7px}.login-card form{margin-top:30px}.demo-note{border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:11px;color:var(--muted)}.demo-note p{margin:8px 0 0}@media(min-width:1600px){main{padding-top:48px}}@media(max-width:1150px){:root{--sidebar:210px}main{padding:28px 24px}.topbar{padding:0 24px}td,th{padding:16px}.detail-grid{grid-template-columns:1fr}.summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.stats{gap:10px}.stat{padding:18px 16px}.sidebar{padding:26px 15px}.login-story{padding:45px}.login-story h1{font-size:48px}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:14px 20px;display:block;border-bottom:1px solid var(--line)}.brand{font-size:23px;margin:0}.brand-icon{width:33px;height:33px;font-size:24px}.brand-sub,.workspace,.sidebar-bottom{display:none}nav{display:flex;margin-top:12px;gap:8px}nav a{margin:0;font-size:11px;padding:8px}nav a[href="/admin/"]{display:none}.shell{margin:0}.topbar{height:45px;padding:0 20px;font-size:10px}main{padding:25px 16px}.top-badge{padding:3px 8px;font-size:9px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:15px}h1{font-size:26px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.stat strong{font-size:27px}.stat>span{font-size:10px}.panel-heading{padding:20px 16px}.filters{padding:0 16px 16px;flex-wrap:wrap;gap:8px}.search-label{flex-basis:100%}.filters select{flex:1}.panel-footer{padding:15px 16px}.panel-footer span{display:none}.summary{display:block}.expense-form{grid-template-columns:1fr;padding:0 16px 20px}.login-layout{grid-template-columns:1fr}.login-story{padding:30px;min-height:280px}.login-story h1{font-size:38px;margin-top:25px}.login-story p:not(.eyebrow),.login-story small{display:none}.login-story .eyebrow{margin-top:25px}.login-card{padding:32px 25px}.summary-card{padding:22px}}@media print{body{background:#fff;font-size:11px}.sidebar,.topbar,.no-print,.message{display:none!important}.shell{margin:0}main{padding:0}.detail-grid{display:block}.panel{break-inside:avoid;margin-bottom:15px}.summary{display:block}.summary-card{padding:15px}.history-event{break-inside:avoid}.page-heading h1{font-size:25px}.panel-heading{padding:15px}td,th{padding:12px}.total{font-size:24px}.badge{border:1px solid #ccc}a[href]:after{content:none}}@media(max-width:760px){.sidebar-bottom{display:block;position:absolute;top:24px;right:20px}.sidebar-bottom .profile,.sidebar-bottom .local-label{display:none}.logout{padding:0;font-size:10px}}:root{--brand-purple:#501c5c;--brand-blue:#678bb0;--brand-petrol:#085774}.brand{display:block;margin-bottom:44px;letter-spacing:normal;padding:0 2px}.brand-logo{display:block;width:100%;aspect-ratio:2.75;object-fit:cover;object-position:center;height:auto}.brand-sub{position:static;display:block;text-align:center;letter-spacing:2px;font-size:8px;margin-top:9px;color:var(--brand-petrol)}.login-story{background:linear-gradient(145deg,#063f57,#085774 52%,#31214b);position:relative;overflow:hidden}.login-story>div,.login-story>small{position:relative;z-index:1}.login-story:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff12;border-radius:50%;right:-310px;bottom:-150px;box-shadow:0 0 0 70px #ffffff04,0 0 0 140px #ffffff03}.login-logo{width:285px;max-width:100%;background:#fff;border-radius:12px;padding:13px 18px;box-shadow:0 8px 28px #001d301f}.login-story .eyebrow{letter-spacing:2px}.login-story h1{color:#fff}.login-card .eyebrow{color:var(--brand-petrol)}.top-badge{color:var(--brand-petrol);background:#f1f6fb;border-color:#dce7f1}.stat:nth-child(2){border-top:3px solid #d3a14e}.stat:nth-child(3){border-top:3px solid var(--brand-blue)}.stat:nth-child(4){border-top:3px solid #459d72}.stat:first-child{border-top:3px solid var(--brand-purple)}nav a.active{box-shadow:inset 3px 0 var(--brand-purple)}.arrow-link:hover{color:var(--brand-purple)}@media(max-width:760px){.brand{width:180px;margin:0}.brand-sub{display:none}.login-logo{width:240px}.login-story{min-height:300px}.login-story h1{margin-top:15px}}.current-receipt{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;background:#f2edf6;border:1px solid #e4d8ed;border-radius:7px;padding:15px;margin-bottom:24px;font-size:12px;overflow-wrap:anywhere}.edit-expense{display:inline-block;color:var(--primary);font-size:11px;font-weight:600;margin-top:10px}.heading-actions{flex-wrap:wrap}@media(max-width:760px){.current-receipt{display:block}.current-receipt a{display:block;margin-top:8px}}.top-actions{display:flex;align-items:center;gap:18px}.account-link{color:var(--primary);font-size:11px}.role-admin{color:#6b347a;background:#f0e8f5}.user-filters{flex-wrap:wrap}.user-filters .search-label{min-width:210px}.user-filters select{width:175px}.role-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 24px}.role-guide p{padding:0 6px;margin:0;font-size:12px}.role-guide strong{display:block;color:var(--primary);margin-bottom:5px}.role-guide span{color:var(--muted)}.user-form input[type=checkbox]{display:inline-block;width:18px;min-height:18px;vertical-align:middle;accent-color:var(--primary);margin-left:10px}.user-form p:has(input[type=checkbox]) label{display:inline-block}.user-form .helptext ul{padding-left:18px}.user-form .helptext li{margin:4px 0}.user-form .form-actions{flex-wrap:wrap}.user-form input:disabled{background:#f4f4f8;color:#818498}.panel-footer>div{display:flex;gap:15px}@media(max-width:760px){nav{flex-wrap:wrap}.top-actions{gap:10px}.account-link{font-size:9px}.role-guide{grid-template-columns:1fr;gap:15px}.user-filters .search-label{min-width:100%}.user-filters select{min-width:140px}.panel-footer>span:first-child{display:block}}.attachment-list{display:flex;flex-direction:column;gap:10px;min-width:120px;max-width:300px}.attachment-item a{overflow-wrap:anywhere;white-space:normal}.file-download{display:block;font-size:10px;color:var(--muted);margin-top:3px}.current-receipt .attachment-list{max-width:100%;gap:7px}.expense-form p:has(input[type=file]){grid-column:1/-1}#id_remove_attachments{padding:12px;background:#faf7fc;border:1px solid #e9e0ef;border-radius:7px}#id_remove_attachments label{display:flex;align-items:center;gap:10px;margin:5px 0;overflow-wrap:anywhere}#id_remove_attachments input{width:16px;min-height:16px;flex-shrink:0;accent-color:var(--primary)}.selected-files{font-size:11px;color:var(--brand-petrol);margin-top:8px;white-space:pre-line;overflow-wrap:anywhere}.add-files{margin-top:10px;display:flex;width:max-content}.file-count{display:block;font-size:11px;color:var(--primary);margin-top:10px}.selected-file-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;border:1px solid #e5deec;border-radius:6px;background:#faf8fc;margin-top:6px;white-space:normal}.selected-file-row span{overflow-wrap:anywhere;min-width:0}.remove-selected-file{flex-shrink:0;border:0;background:transparent;color:#984858;font-size:11px;padding:4px;cursor:pointer}.react-form{display:block}.react-form .form-field{margin-bottom:19px}.react-form.expense-form{display:grid;grid-template-columns:1fr 1fr}.react-form.expense-form .field-files,.react-form.expense-form .field-checkboxes,.form-wide{grid-column:1/-1}.form-field input:disabled,.form-field select:disabled{background:#f4f4f8;color:#818498}.form-field.field-hidden{display:none}.required-mark{color:#875c95;font-size:10px}.field-error{font-size:12px;color:#ac3e4c;background:#fff1ef;border-radius:6px;padding:9px 12px;margin-top:7px}.field-checkbox input{width:18px;min-height:18px;accent-color:var(--primary)}.checkbox-options{padding:12px;background:#faf7fc;border:1px solid #e9e0ef;border-radius:7px}.checkbox-options label{display:flex;gap:10px;align-items:center;margin:7px 0;overflow-wrap:anywhere}.checkbox-options input{width:16px;min-height:16px;flex-shrink:0;accent-color:var(--primary)}.file-picker>input{font-size:12px}.file-picker .add-files{margin-top:10px}.loading{padding:75px 20px;color:var(--muted);text-align:center}.fatal-error{max-width:550px;margin:120px auto;padding:30px}.react-form .helptext{white-space:pre-line;line-height:1.7}.review-approve{margin-top:14px}.expense-actions{display:flex;align-items:baseline;gap:12px}.notice-close{float:right;background:none;border:0;font-size:18px;color:inherit;cursor:pointer}.login-card .react-form{margin-top:28px}.login-card .form-actions{border:0;margin:0;padding:0}.login-card .form-actions button{width:100%}.summary-card .react-form .form-actions{border:0;padding:0}.summary-card .react-form .form-actions button{width:100%}.attachment-item,.message{overflow-wrap:anywhere}.file-count:empty{display:none}button:disabled{cursor:wait}.field-checkboxes>label{font-weight:650}@media(max-width:760px){.react-form.expense-form{grid-template-columns:1fr}.react-form .form-actions{justify-content:stretch}.react-form .form-actions .button{flex:1}.heading-actions{width:100%}}@media print{.react-form,.notice-close{display:none!important}}.file-picker>input[type=file]{display:none}
