:root{--ink:#202c2b;--muted:#697571;--brand:#087d72;--brand-dark:#066459;--line:#dce3e0;--soft:#f4f7f6;--white:#fff;--danger:#b73348;--warning:#805812;--radius:6px}
*{box-sizing:border-box;letter-spacing:0}
body{margin:0;color:var(--ink);background:var(--soft);font:16px/1.6 "Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif;overflow-wrap:anywhere}
button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.4}h2{font-size:20px;line-height:1.5}h3{font-size:16px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #489bdb;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid var(--brand);outline-offset:1px}code{font:14px/1.6 Consolas,monospace}.muted{color:var(--muted)}.icon{display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand{display:inline-flex;align-items:baseline;gap:9px;font:bold 25px/1 Arial,sans-serif;white-space:nowrap}.brand span{color:var(--brand);font-size:21px}.env-badge,.eyebrow{font-size:12px;font-weight:700}.env-badge{padding:4px 8px;color:var(--brand);border:1px solid #a8cbc3;border-radius:4px}.eyebrow{color:var(--brand)}.button{min-height:44px;border:1px solid var(--line);border-radius:var(--radius);padding:9px 16px;background:var(--white);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:700;white-space:normal;text-align:center}.button:hover{background:#eaf0ed}.button.primary{background:var(--brand);border-color:var(--brand);color:white}.button.primary:hover{background:var(--brand-dark)}.button.danger{color:var(--danger);border-color:#e1b8bf}.button.danger:hover{background:#fceef0}.button.full{width:100%}.form-stack{display:grid;gap:22px}.field{display:grid;gap:8px;min-width:0}.field label,.field-label{font-size:14px;font-weight:700}.field input,.field textarea,.field select{width:100%;min-width:0;border:1px solid #bdc9c5;border-radius:var(--radius);padding:11px 13px;background:white;min-height:46px}.field input::placeholder,.field textarea::placeholder{color:#7b8782}.field textarea{min-height:200px;resize:vertical}.field-help{font-size:13px;color:var(--muted)}.field-errors,.errorlist{color:var(--danger);font-size:14px;list-style:none;margin:0;padding:0}.notice{padding:12px 16px;border:1px solid #bcd8cd;border-radius:var(--radius);background:#eff9f4;font-size:14px}.notice.error{color:var(--danger);background:#fff2f4;border-color:#edc3cc}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:10px;background:white}.skip-link:focus{top:10px}.login-page{min-height:100dvh;display:flex;flex-direction:column;background:#fafcfb;border-top:4px solid var(--brand)}.login-header,.login-footer{margin:0 auto;width:min(1160px,100%);padding:32px 40px;display:flex;justify-content:space-between;align-items:center;gap:16px}.login-main{flex:1;width:100%;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px 60px;gap:28px}.login-title{text-align:center}.login-title h1{font-size:34px;margin:12px 0 8px}.login-title p{font-size:15px;color:var(--muted)}.login-panel{width:100%;max-width:408px;background:white;padding:28px 30px;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #183f3410}.login-panel h2{font-size:20px;margin-bottom:24px}.demo-accounts{margin-top:26px;border-top:1px solid var(--line);padding-top:18px;font-size:13px}.demo-accounts summary{cursor:pointer;font-size:14px;font-weight:700;margin-bottom:12px}.demo-row{display:flex;justify-content:space-between;gap:12px;margin:7px 0}.demo-row strong{font-weight:400;color:var(--muted)}.demo-accounts p{border-top:1px dashed var(--line);padding-top:10px;margin-top:12px;display:flex;justify-content:space-between;gap:12px}.login-footer{font-size:12px;color:var(--muted);padding-top:20px;padding-bottom:20px;border-top:1px solid var(--line)}.initial-dashboard{padding:40px}.initial-dashboard h1{margin:40px 0}
.workspace{min-height:100dvh;display:grid;grid-template-columns:232px minmax(0,1fr)}
.sidebar{background:#fff;border-right:1px solid var(--line);padding:35px 20px 24px;display:flex;flex-direction:column;gap:32px;position:sticky;top:0;height:100dvh}
.sidebar-brand{display:grid;gap:16px;padding:0 6px}.workspace-name{font-size:14px;color:var(--muted)}.compose{width:100%}.nav{display:grid;gap:6px}.nav a{min-height:48px;padding:12px 14px;border-radius:5px;display:flex;gap:12px;align-items:center;font-size:15px;color:#5c6b66}.nav a:hover{background:var(--soft)}.nav a[aria-current]{background:#e7f3ef;color:#066b60;font-weight:700}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:14px;align-items:flex-start;color:var(--muted);font-size:12px;padding:8px 6px}.workspace-body{display:flex;flex-direction:column;min-width:0}.topbar{height:88px;min-height:88px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 40px}.topbar-context{font-size:14px;color:var(--muted)}.topbar-context span{padding:0 16px;color:#a8b4ae}.identity{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#e4efec;color:#167367;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.identity strong{font-size:14px}.identity>div>span{display:block;font-size:12px;color:var(--muted)}.icon-button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:transparent;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--soft);color:var(--brand)}.identity form{margin-left:12px}.main-content{width:100%;max-width:1360px;margin:0 auto;padding:36px 40px 48px;flex:1}.main-content>.notice{margin-bottom:24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:8px}.page-heading h1{font-size:26px}.page-heading p{font-size:14px;color:var(--muted);margin-top:10px}.divider{display:inline-block;margin:0 12px;color:#a3b0a9}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.stat{padding:0 26px;border-right:1px solid var(--line);min-width:0}.stat:last-child{border:0}.stat>div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:#596963}.stat:nth-child(1) .icon{color:var(--warning)}.stat:nth-child(2) .icon{color:var(--brand)}.stat:nth-child(3) .icon{color:var(--danger)}.stat>strong{display:block;font-size:34px;line-height:1.4;margin:16px 0 6px}.stat strong small{font-size:14px;color:var(--muted);font-weight:400;margin-left:7px}.stat-note{font-size:13px;color:var(--muted)}a.stat:hover{background:#fafcfb}.content-section{margin-top:34px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{font-size:18px}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--brand);font-weight:700}.text-link .icon{width:16px;height:16px}.text-link:hover{text-decoration:underline}.request-table{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:white}.table-head,.request-row{display:grid;grid-template-columns:minmax(180px,1fr) 105px 125px 100px 84px;gap:20px;align-items:center;padding:16px 22px}.table-head{font-size:12px;color:var(--muted);background:#f0f4f2;padding-top:12px;padding-bottom:12px}.request-row{border-top:1px solid #e8edea;min-height:88px;font-size:14px}.request-subject a{font-size:15px;font-weight:700;line-height:1.5;display:inline-block}.request-subject a:hover{color:var(--brand);text-decoration:underline}.request-subject>span,.request-person>span{font-size:12px;display:block;color:var(--muted);margin-top:5px}.request-amount,.align-right{text-align:right}.request-amount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.request-amount small{font-size:12px;font-weight:400;color:var(--muted)}.request-date{font-size:12px;color:var(--muted)}.status{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:4px;font-size:12px;font-weight:700;white-space:nowrap;line-height:1.6}.status.pending{background:#fff3d7;color:#805812}.status.approved{background:#e4f4ed;color:#106f50}.status.rejected{background:#fbe9ed;color:#a12c44}.decision-feed{border-top:1px solid var(--line)}.feed-item{display:flex;gap:14px;align-items:center;padding:19px 4px;border-bottom:1px solid var(--line)}.feed-icon{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#e4f4ed;color:#106f50;border-radius:50%}.feed-icon.rejected{background:#fbe9ed;color:#a12c44}.feed-item>div{min-width:0;flex:1}.feed-item strong{display:block;font-size:14px;font-weight:600}.feed-item div>span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.feed-item:hover strong{color:var(--brand)}.workspace-footer{border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:16px;padding:20px 40px}.heading-count{font-size:18px;vertical-align:middle;color:var(--brand);margin-left:8px}.filters{display:flex;gap:14px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.search-field{display:flex;align-items:center;background:white;border:1px solid #bdc9c5;border-radius:5px;max-width:400px;min-width:180px;flex:1}.search-field input{border:0;min-width:0;width:100%;padding:10px 12px;border-radius:5px}.filter-select{display:flex;gap:8px;align-items:center}.filter-select select{border:1px solid #bdc9c5;background:white;min-height:44px;padding:8px 10px;border-radius:5px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;font-size:14px}.empty-state{padding:44px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--muted)}.empty-state>.icon{width:30px;height:30px}.empty-inline{padding:24px;color:var(--muted);font-size:14px}.request-form{max-width:840px}.requester-strip{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:28px}.requester-strip .field-label{font-size:12px;color:var(--muted);font-weight:400}.requester-strip p{font-size:15px}.role-label{margin-left:auto;font-size:12px;color:var(--muted)}.required{color:var(--brand)}.amount-field{max-width:340px}.currency-input{position:relative}.currency-input>span{position:absolute;right:16px;top:12px;color:var(--muted);font-size:14px}.currency-input input{padding-right:44px}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-bottom:22px}.document-heading{margin-bottom:28px}.document-reference{display:flex;align-items:center;gap:16px;font:13px/1.6 Consolas,monospace;color:var(--muted);margin-bottom:14px}.document-reference .status{font-family:"Malgun Gothic",sans-serif}.document-heading h1{font-size:26px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:36px}.document{min-width:0}.document-meta{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:24px}.document-meta dt{color:var(--muted);font-size:13px;margin-bottom:6px}.document-meta dd{margin:0;font-size:15px}.document-meta dd>span{font-size:13px;color:var(--muted);display:block}.document-meta .document-total{grid-column:1/-1}.document-total dd{font-size:28px;font-weight:700}.document-total small{font-size:16px;font-weight:400}.document-content{padding:28px 0}.document h2{font-size:16px;margin-bottom:16px}.prose{font-size:16px;line-height:1.9;overflow-wrap:anywhere;white-space:normal}.decision-summary{padding:24px 0;border-top:1px solid var(--line)}.decision-summary h2{margin:0}.decision-summary p{font-size:13px}.decision-summary .prose{margin-top:12px}.detail-aside{border-left:1px solid var(--line);padding-left:28px;min-width:0}.detail-aside h2{font-size:17px;margin-bottom:18px}.decision-tool{padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:28px}.decision-tool textarea{min-height:130px;font-size:14px}.decision-options{border:1px solid var(--line);border-radius:5px;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;background:white}.decision-options label{padding:10px 12px;font-size:14px;display:flex;align-items:center;gap:8px;cursor:pointer}.decision-options label:has(input:checked){background:#e4f4ed;color:var(--brand)}.decision-options input{accent-color:var(--brand);width:16px;height:16px}.decision-options label:last-child:has(input:checked){background:#fbe9ed;color:var(--danger)}.decision-options label:last-child input{accent-color:var(--danger)}.waiting-note{display:grid;gap:12px;font-size:14px;color:var(--muted);padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.waiting-note strong{color:var(--ink)}.timeline{list-style:none;margin:0;padding:0 0 0 5px}.timeline li{position:relative;padding:0 0 25px 22px;border-left:1px solid #c5d6cd}.timeline li:last-child{border-color:transparent;padding-bottom:0}.timeline strong{font-size:14px}.timeline p{font-size:13px;margin:5px 0;color:var(--muted)}.timeline-mark{position:absolute;left:-5px;top:8px;width:9px;height:9px;background:#647a70;border-radius:50%}.timeline-mark.approved{background:var(--brand)}.timeline-mark.rejected{background:var(--danger)}.timeline-comment{font-size:14px;margin-top:10px;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error-page{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:600px;margin:100px auto;padding:24px;text-align:center}
@media(min-width:1600px){.main-content{padding-top:44px}}
@media(max-width:1200px){.workspace{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding-left:16px;padding-right:16px}.sidebar .brand{font-size:22px;gap:6px}.sidebar .brand span{font-size:19px}.main-content{padding:28px 26px 40px}.topbar{padding:16px 26px}.stat{padding:0 18px}.table-head,.request-row{grid-template-columns:minmax(130px,1fr) 80px 110px 78px 75px;gap:12px;padding-left:16px;padding-right:16px}.request-date{font-size:12px}.detail-grid{grid-template-columns:minmax(0,1fr) 265px;gap:24px}.detail-aside{padding-left:20px}}
@media(max-width:980px){.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{height:auto;position:static;padding:20px 24px 0;gap:18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{display:flex;justify-content:space-between;align-items:center;padding:0}.sidebar .brand{font-size:25px;gap:9px}.sidebar .brand span{font-size:21px}.sidebar .compose,.sidebar-bottom{display:none}.nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.nav a{justify-content:center;gap:8px;border-radius:4px 4px 0 0;min-height:48px;padding:10px 8px}.topbar{height:76px;min-height:76px}.main-content{padding:28px 24px 40px}.topbar{padding:12px 24px}.workspace-footer{padding:20px 24px}.page-heading h1{font-size:24px}}
@media(max-width:680px){.sidebar{padding:22px 18px 0;gap:20px}.nav a{flex-direction:column;gap:5px;font-size:12px;min-height:66px;padding:10px 2px}.nav .icon{width:19px;height:19px}.topbar-context{display:none}.topbar{justify-content:flex-end;height:72px;min-height:72px;padding:10px 18px}.identity{width:100%;gap:10px}.identity form{margin-left:auto}.main-content{padding:26px 18px 36px}.page-heading{align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-heading h1{font-size:23px}.page-heading .eyebrow{font-size:11px}.page-heading p{font-size:13px}.page-heading>.button{min-height:42px;padding:8px 12px}.stats{grid-template-columns:1fr 1fr;padding:0}.stat{padding:18px 20px;border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:0}.stat:nth-child(3),.stat:nth-child(4){border-bottom:0}.stat:nth-child(3){border-right:1px solid var(--line)}.stat>strong{font-size:30px;margin:8px 0 3px}.stat>div{font-size:13px}.stat-note{font-size:12px}.content-section{margin-top:28px}.section-heading h2{font-size:17px}.text-link{font-size:12px}.table-head{display:none}.request-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:17px 16px}.request-subject{grid-column:1/-1}.request-subject a{font-size:15px}.request-subject>span{font-size:11px}.request-person{font-size:13px;grid-column:1;grid-row:2}.request-person>span{display:inline;font-size:11px;margin-left:8px}.request-amount{grid-column:2;grid-row:2;font-size:14px}.request-date{grid-column:1;grid-row:3}.request-status{grid-column:2;grid-row:3;text-align:right}.status{font-size:12px}.feed-item{gap:10px}.feed-item strong{font-size:13px}.workspace-footer{padding:18px;flex-direction:column;gap:4px;font-size:11px}.filters{gap:12px}.search-field{flex-basis:100%;max-width:none}.filter-select{flex:1}.filter-select select{flex:1}.detail-grid{grid-template-columns:minmax(0,1fr);gap:24px}.detail-aside{border-left:0;padding:24px 0 0;border-top:1px solid var(--line)}.document-heading h1{font-size:23px}.document-meta{gap:18px}.document-content{padding-bottom:12px}.decision-tool{max-width:none}.requester-strip{padding:18px 0}.role-label{font-size:11px}.requester-strip p{font-size:14px}.field textarea{min-height:180px}.decision-tool textarea{min-height:110px}.login-header{padding:24px 20px}.login-header .env-badge{font-size:10px}.brand{font-size:23px;gap:7px}.brand span{font-size:19px}.login-main{padding:16px 20px 36px;gap:24px}.login-title h1{font-size:30px}.login-panel{padding:24px}.login-footer{padding:16px 20px}.login-footer>span:last-child{display:none}}
@media(prefers-reduced-motion:no-preference){.button,.nav a,.icon-button{transition:background-color .15s ease,color .15s ease}}
.skip-link{top:12px;clip-path:inset(100%);opacity:0;pointer-events:none}
.skip-link:focus{top:12px;clip-path:none;opacity:1;pointer-events:auto}
