:root{--green:#0b4f43;--green2:#116a53;--mint:#b9dfc7;--paper:#fff;--ivory:#f6f8f7;--ink:#182824;--muted:#65736c;--line:#e5eae7;--blue:#285e53;--red:#a7473f;--soft:#f7f9f8}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-size:14px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green2);outline-offset:3px}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,h4,p{margin-top:0}h3{font-size:16px;font-weight:600}button svg,summary svg{flex:none}button,summary{transition:background .15s,color .15s,border-color .15s}.grow{flex:1;min-width:0}.subtle{color:var(--muted);font-size:13px}.eyebrow{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:6px;font-size:13px;white-space:nowrap}.button{border:1px solid #d9e1dc;background:white;color:var(--ink)}.button:hover:not(:disabled){background:var(--soft);border-color:#b7c7bd}.button.primary{color:#fff;background:var(--green);border-color:var(--green)}.button.primary:hover:not(:disabled){background:var(--green2)}.text-button{border:0;background:transparent;color:var(--green);padding:8px 10px}.text-button:hover:not(:disabled){background:#f0f5f2}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:25px}.icon-button:hover{background:var(--soft)}input:not([type=checkbox]),select,textarea{width:100%;min-height:44px;max-width:100%;border:1px solid #dce3de;border-radius:6px;background:white;color:var(--ink);padding:9px 12px;font-size:13px}input::placeholder{color:#6d7a72}input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--green);cursor:pointer}label{font-size:13px}.chevron{display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex:none;margin-bottom:3px}
.shell{min-height:100vh}.workspace{margin:0}.topbar{height:72px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.app-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650;letter-spacing:-.3px}.brand-symbol{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:#edf4f0;color:var(--green)}.brand-symbol svg{width:22px;height:22px}.preview-status{margin-left:4px;font-size:12px;font-weight:400;letter-spacing:0;background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:1px 7px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:12px}main{max-width:1880px;margin:0 auto;padding:28px 40px 24px}.stats-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.stats-heading p{font-size:12px;margin:0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.stats article{min-width:0;padding:0 28px;border-right:1px solid var(--line)}.stats article:first-child{padding-left:0}.stats article:last-child{border:0}.stats article>span{display:block;font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:30px;font-weight:600;line-height:1.35;letter-spacing:-.7px;margin-top:8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stats article:nth-child(3) strong{color:var(--green)}.stats small{display:block;font-size:12px;color:var(--muted);margin-top:6px}#recognition-summary{line-height:1.5}
.panel{background:var(--paper)}.filters{padding-bottom:18px}.search-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.list-heading{font-size:16px;font-weight:600;letter-spacing:.1px;margin:0}.search-controls{display:flex;align-items:center;gap:8px}.search{position:relative;width:340px;max-width:100%;display:flex}.search-symbol{position:absolute;left:12px;top:13px;color:#8a9690;pointer-events:none}.search input{padding-left:38px;background:#fcfdfc;border-color:#e3e8e4}.search-submit{background:var(--soft)}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.filter-row>label{display:flex;align-items:center;gap:4px;white-space:nowrap;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:0 0 0 9px;font-size:12px;color:var(--muted)}.filter-row>label>select{width:auto;border:0;background:transparent;padding:8px 4px;font-size:12px;min-width:0;max-width:132px;color:var(--ink)}.filter-row>.text-button{font-size:12px;padding:8px}.more-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:6px;margin-top:14px}.more-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px}.period-pickers{display:flex;align-items:center;gap:8px;flex:none}.period-picker{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:6px;padding-left:9px;min-height:44px}.period-basis{font-size:12px;white-space:nowrap;color:var(--muted)}.date-menu,.utility-menu{position:relative}.date-menu>summary,.utility-menu>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 9px;font-size:12px;color:var(--ink);border-radius:6px}.date-menu>summary::-webkit-details-marker,.utility-menu>summary::-webkit-details-marker{display:none}.date-menu summary strong{font-weight:500;color:var(--green)}.date-menu[open]>summary,.utility-menu[open]>summary{background:#edf4ef}.period-arrow{min-width:44px;width:44px;padding:0;font-size:21px}.date-popover,.menu-content{position:absolute;z-index:5;top:calc(100% + 8px);background:white;border:1px solid #dce4de;border-radius:9px;box-shadow:0 10px 32px #193d2612}.date-popover{width:470px;left:-65px;padding:10px}.period-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.period-columns section{min-width:0}.period-columns h4{font-size:12px;font-weight:500;color:var(--muted);margin:8px 10px}.period-options{max-height:280px;overflow-y:auto;overscroll-behavior:contain}.period-options button,.period-all,.custom-toggle{width:100%;min-height:44px;border:0;border-radius:5px;background:transparent;color:var(--ink);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-size:13px}.period-options button:hover,.period-all:hover,.custom-toggle:hover{background:var(--soft)}.period-options button[aria-pressed=true],.period-all[aria-pressed=true]{color:var(--green);background:#edf5ef}.period-options small{display:block;font-size:12px;line-height:1.5;color:var(--muted)}.period-options em{font-style:normal;font-size:12px;white-space:nowrap;color:var(--muted)}.period-all{border-bottom:1px solid var(--line);border-radius:0;margin-bottom:8px}.custom-toggle{border-top:1px solid var(--line);border-radius:0;margin-top:8px}.custom-range{padding:8px 6px}.date-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px}.date-range input{min-width:0;padding:8px;font-size:13px}.custom-actions{display:flex;justify-content:flex-end;margin-top:12px}.menu-content{left:auto;right:0;width:240px;padding:6px}.menu-content>button,.menu-content>a{display:flex;width:100%;padding:10px 12px;border:0;border-radius:5px;background:none;text-align:left;align-items:center;color:var(--ink);font-size:13px;min-height:44px}.menu-content>button:hover,.menu-content>a:hover{background:var(--soft);text-decoration:none}.account-info{padding:12px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.account-info small{display:block;font-size:12px}
.invoice-table{border:1px solid var(--line);border-radius:8px;isolation:isolate}.selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#f8fbf9;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}.selection-context,.selection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.selection-context{flex:1}#selection-summary{font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums}.selection-context .text-button{font-size:12px;min-height:44px;padding:8px}.selection-actions>.button{font-size:12px}.download-controls{display:flex;align-items:center;gap:7px;padding-right:14px;border-right:1px solid #dce5df}.download-controls label{font-size:12px;color:var(--muted);white-space:nowrap}.download-controls select{width:106px;font-size:12px;padding:8px}.download-button{width:44px;height:44px;padding:0;background:white}.selection-hint{flex-basis:100%;font-size:12px;color:var(--muted)}.table-wrap{overflow-x:auto;border-radius:8px}.selection-bar:not(.hidden)+.table-wrap{border-radius:0 0 8px 8px}table{border-collapse:collapse;width:100%;white-space:nowrap}th{padding:12px 10px;text-align:left;font-size:12px;font-weight:400;color:var(--muted);background:#fafcfb;border-bottom:1px solid var(--line)}td{padding:15px 10px;font-size:13px;border-top:1px solid #edf0ed;vertical-align:middle}th:first-child,td:first-child{width:54px;padding:0 5px}.check-target{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer}th:first-child{height:48px}th input,td input{display:block}tr:hover td{background:#fcfdfc}tr.is-selected td{background:#f6faf7}td.title-cell{min-width:170px;max-width:240px;white-space:normal}td.title-cell strong{font-weight:500;font-size:13px;display:block;line-height:1.6}td.buyer-cell{min-width:130px;max-width:170px;white-space:normal;font-size:12px;line-height:1.7}td small{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5;overflow-wrap:anywhere}.title-cell>small{font-size:12px;letter-spacing:.15px;font-variant-numeric:tabular-nums}.number{text-align:right;font-variant-numeric:tabular-nums}.number strong{font-weight:600}.file-tag{display:inline-flex;align-items:center;min-height:44px;border:0;background:transparent;color:var(--green);font-size:12px;padding:8px 0;white-space:nowrap}.file-tag:hover{text-decoration:underline}.usage-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#65736c}.usage-status i{width:5px;height:5px;border-radius:50%;background:#acb6af}.usage-status.is-used{color:var(--green)}.usage-status.is-used i{background:#5a9677}.row-actions{display:flex;align-items:center;gap:4px}.actions-heading{padding-left:20px}.actions-cell{padding-left:10px;padding-right:12px}.usage-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 9px;white-space:nowrap;border:0;border-radius:5px;background:transparent;color:var(--green);font-size:12px}.usage-action:hover:not(:disabled){background:#eaf3ed}.usage-action.is-used{color:var(--muted)}.flag-action{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border:0;border-radius:5px;background:transparent;color:#87948b}.flag-action:hover:not(:disabled),.flag-action.is-flagged{color:var(--red);background:#fff2ed}.flag-action.is-flagged svg{fill:#f8ddd5}.flag-action:disabled{opacity:.5}.flag-action[data-tooltip]:hover::after,.flag-action[data-tooltip]:focus-visible::after{content:attr(data-tooltip);position:absolute;bottom:100%;right:0;padding:5px 8px;font-size:12px;border-radius:5px;color:white;background:#263b31;pointer-events:none;white-space:nowrap;z-index:2}.exception-badge{display:inline-flex;color:var(--red);font-size:12px;margin-bottom:3px}.blocked-note{max-width:100px;color:#976e3f}.badge{display:inline-flex;padding:2px 7px;border-radius:4px;font-size:12px;background:#f1f3ee;color:#727961}.badge.green{background:#eaf3eb;color:var(--green)}.badge.red{background:#fff0eb;color:var(--red)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;color:var(--muted);font-size:12px}.pagination>div{display:flex;gap:8px}.pagination .button{min-height:44px;font-size:12px}.empty{text-align:center;padding:56px 20px;color:var(--muted)}.empty>span{font-size:32px;color:#a4b6a9}.empty h3{font-size:16px;color:var(--ink);margin:12px 0 6px}.empty p{font-size:13px}.activity-panel{margin-top:8px;border-top:1px solid var(--line)}.activity-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;color:var(--green);font-size:13px}.job-row{display:flex;align-items:center;gap:14px;padding:18px;border-top:1px solid var(--line);font-size:13px}.job-row small{display:block;color:var(--muted);font-size:12px}.job-row strong{font-weight:500}footer{padding:0 40px 24px;color:#8a958e;font-size:12px}
/* Detail, use and settings keep the same functional seams. */
dialog{border:1px solid #dce4df;border-radius:12px;padding:0;max-height:93dvh;width:min(1180px,95vw);background:white;color:var(--ink);box-shadow:0 20px 70px #172c2720}dialog::backdrop{background:#193b2e5c}.dialog-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line);background:white;z-index:1}.dialog-top h2{font-size:19px;font-weight:600;margin:0}.detail-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;padding:24px}.preview{position:sticky;top:100px;border:1px solid var(--line);border-radius:6px;min-height:520px;height:65vh;background:#f4f6f4}.preview iframe,.preview img{width:100%;height:100%;border:0;object-fit:contain}.preview p{padding:24px}.detail-section{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid label,form>label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.field-grid .wide{grid-column:1/-1}.file-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.file-row .grow{overflow-wrap:anywhere}.link-row{padding:14px 0;border-top:1px solid var(--line);font-size:13px}.link-row a{overflow-wrap:anywhere}.link-row small{display:block}.link-actions{display:flex;gap:8px;margin-top:10px}.warning{padding:10px 12px;border-radius:5px;background:#fff4e8;color:#825f3b;font-size:13px;margin-bottom:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:22px}.reimbursement-decision{padding:14px 0;border-top:1px solid var(--line);margin-top:20px}.reimbursement-decision label{display:grid;gap:6px;font-size:13px;color:var(--muted);margin-top:12px}#usage-dialog{width:min(460px,calc(100vw - 32px));padding:24px}#usage-dialog .dialog-top{position:static;padding:0 0 12px;border:0}#usage-summary{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;margin:4px 0 22px}#usage-form>label{margin-top:16px}#usage-dialog .dialog-actions{padding-top:24px}.toast{position:fixed;z-index:10;bottom:24px;right:24px;max-width:min(500px,calc(100vw - 32px));padding:12px 18px;border-radius:7px;background:var(--green);color:white;font-size:13px;box-shadow:0 6px 24px #142c251f}.toast.error{background:#9a443d}.page-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-heading h2{font-size:22px;margin:0}.page-heading p{display:none}.settings-card{padding:22px;border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.settings-card p{font-size:13px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.folder-options{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 20px}.folder-options label{display:flex;align-items:center;gap:8px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;align-items:center}.login>div{padding:8vw}.login h1{font-size:clamp(28px,3vw,44px);line-height:1.5;font-weight:600}.login p{font-size:15px;color:var(--muted);margin:22px 0}.login small{display:block;color:var(--muted);font-size:12px;margin-top:20px}.login aside{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--green);color:var(--mint);gap:30px}.login aside>span{font-size:12px;letter-spacing:.12em}.login aside p{color:var(--mint)}.paper-art{background:#fffdf8;color:var(--ink);width:65%;padding:40px 28px;transform:rotate(-4deg);border-radius:4px}.paper-art b{font-size:22px;color:var(--green)}.paper-art hr{border:0;border-top:1px solid var(--line);margin:24px 0}.paper-art i{display:block;height:10px;width:90%;background:#e7ece4;margin:20px 0}.paper-art strong{display:block;margin-top:48px;font-size:16px}
@media(max-width:1350px){.filter-row{flex-wrap:wrap}.period-pickers{flex-basis:100%}.more-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.selection-context{flex-basis:100%}.selection-actions{margin-left:auto}.detail-grid{grid-template-columns:1fr}.preview{position:static;min-height:0;height:460px}}
@media(max-width:1100px){main{padding:24px}.topbar{padding:0 24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.stats article:nth-child(odd){padding-left:0}.stats article:nth-child(even){border-right:0}footer{padding:0 24px 24px}}
@media(max-width:640px){.topbar{height:64px;padding:0 16px}.app-brand{font-size:16px;gap:7px}.brand-symbol{width:28px;height:28px;border-radius:7px}.brand-symbol svg{width:20px;height:20px}.preview-status{font-size:12px;padding:0 4px;margin-left:0}.header-actions{gap:0}.header-actions summary{padding:8px;font-size:12px}main{padding:20px 16px}.stats-heading{margin-bottom:14px}.stats{row-gap:22px;padding-bottom:22px;margin-bottom:24px}.stats article{padding:0 16px}.stats strong{font-size:24px;letter-spacing:-.5px}.stats small{font-size:12px}.search-zone{display:block;margin-bottom:14px}.list-heading{margin-bottom:12px}.search-controls{width:100%}.search{flex:1;width:auto;min-width:0}.search-submit{padding:8px 12px}.period-pickers{display:grid;grid-template-columns:1fr;width:100%;gap:8px}.period-picker{width:100%}.date-menu{flex:1}.date-menu>summary{justify-content:flex-end}.period-arrow{width:44px;min-width:44px}.filter-row{gap:8px}.filter-row>label{flex:1 0 40%;justify-content:space-between}.filter-row>label>select{max-width:115px}.filter-row>.text-button{font-size:12px}.date-popover{position:fixed;top:90px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 110px);overflow-y:auto}.period-options{max-height:240px}.period-options button{font-size:12px;padding:8px}.more-filters{grid-template-columns:1fr 1fr}.selection-bar{padding:10px;gap:8px}.selection-context{gap:4px}.selection-context #selection-summary{flex-basis:100%}.selection-actions{margin:0;gap:8px;flex-wrap:wrap}.download-controls{padding-right:8px;gap:6px}.download-controls select{width:102px}.selection-actions>.button{padding:8px 10px}.selection-context .text-button{padding:8px 4px}.table-wrap{border-radius:7px}.pagination{gap:8px;font-size:12px}.pagination>div{gap:6px}.pagination .button{min-height:44px;padding:8px 10px}footer{padding:0 16px 20px;font-size:12px}.detail-grid{padding:16px;gap:16px}.preview{height:370px}.field-grid{gap:10px}.dialog-top{padding:14px 16px}.settings-card{padding:16px}.settings-row{display:block}.settings-row>.button{margin-top:10px}.job-row{padding:14px 0;flex-wrap:wrap}.login{display:block}.login>div{padding:44px 24px}.login aside{min-height:420px}.toast{bottom:16px;right:16px}.menu-content{width:230px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{.topbar,.filters,.selection-bar,.row-actions,.pagination,.activity-panel{display:none!important}main{padding:0}.stats{break-inside:avoid}footer{position:fixed;bottom:0;font-size:12px}dialog[open]{position:static;width:100%;max-height:none;border:0;box-shadow:none}.preview{display:none}.detail-grid{display:block}}

/* Short actions, explicit file details and persistent toolbar search. */
.list-heading{margin-bottom:14px}.selection-context{flex:0 1 auto}.toolbar-search{flex:1 1 220px;max-width:360px;min-width:180px;margin-left:8px}.toolbar-search .search{flex:1;width:auto;min-width:0}.selection-actions{margin-left:auto}.availability-action{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:44px;padding:8px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}.availability-action:hover:not(:disabled),.availability-action.is-excluded{color:var(--red);background:#fff2ed}.row-view{font-size:12px;padding:8px;min-width:44px}.usage-action{min-width:64px}.selection-bar{justify-content:flex-start}.selection-actions.hidden+.selection-hint{display:none}.flag-action{display:none}@media(max-width:1350px){.selection-context{flex-basis:auto}.toolbar-search{max-width:400px}.selection-actions{margin-left:auto}}@media(max-width:640px){.toolbar-search{flex-basis:100%;width:100%;max-width:none;margin-left:0;order:2}.selection-context{flex-basis:100%}.selection-context #selection-summary{flex-basis:auto}.selection-actions{order:3;margin-left:0}.selection-hint{order:4}.list-heading{margin-bottom:12px}}

#bundle[aria-busy="true"] svg{visibility:hidden}#bundle[aria-busy="true"]{position:relative}#bundle[aria-busy="true"]::after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:bundle-spin .8s linear infinite}@keyframes bundle-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#bundle[aria-busy="true"]::after{animation:none}}
