@charset "UTF-8";
:root{--ink:#20352f;--muted:#7d8983;--line:#e5e9e5;--bg:#f5f6f2;--green:#205e50;--pale:#eaf2ed;--gold:#c7a45d;--white:#fff;--shadow:0 10px 32px #253c3010;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{border:1px solid var(--line);background:white;border-radius:7px;padding:9px 14px;color:var(--ink);display:inline-flex;align-items:center;gap:8px;justify-content:center;transition:background .15s}button:hover{background:#f2f5f2}button:disabled{opacity:.5;cursor:wait}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button.primary{background:var(--green);border-color:var(--green);color:white}button.primary:hover{background:#174d40}button.quiet{background:transparent;border-color:transparent}button.small{padding:6px 10px;font-size:12px}button.danger{color:#a63c3c}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 32px}.brand img{width:35px;height:35px}.brand strong{font-size:18px;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:5px}.nav-label{font-size:10px;color:#a1aaa5;letter-spacing:2px;margin:12px 14px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{justify-content:flex-start;text-align:left;gap:13px;border:0;border-radius:7px;background:none;padding:13px 15px;color:#6d7d75}.nav button.active{color:var(--green);background:var(--pale);font-weight:650}.nav button:hover{background:#f1f5f1}.nav .count{margin-left:auto;font-size:10px;background:#f1e7d2;color:#96723a;border-radius:4px;padding:2px 5px}.sidebar-bottom{margin-top:auto}.local-note{border:1px solid var(--line);padding:13px;border-radius:9px;color:var(--muted);line-height:1.8;font-size:11px;margin:25px 6px 18px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5c9a75;margin-right:6px}.profile{padding:8px 10px;display:flex;gap:10px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;background:#eef1e8;color:#53764e;display:grid;place-items:center;font-weight:600}.profile .name{font-size:12px;font-weight:600}.profile .role{font-size:10px;color:var(--muted);margin-top:4px}.profile button{margin-left:auto;padding:4px}.main{margin-left:224px}.topbar{height:74px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.crumb{color:#919d96;font-size:12px}.crumb b{color:var(--ink);font-weight:500;margin-left:13px}.topbar-right{display:flex;align-items:center;gap:17px;color:var(--muted);font-size:12px}.topbar .date{padding-right:20px;border-right:1px solid var(--line)}.view{padding:32px 38px 50px;max-width:1600px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#72887c;margin-bottom:10px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.page-head h1{font-size:25px;font-weight:650;letter-spacing:1px;margin:0 0 9px}.subtitle{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.actions{display:flex;gap:8px;align-items:center}.welcome{background:#e9efe7;border:1px solid #dce5d9;border-radius:10px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.welcome h3{font-size:15px;margin:0 0 8px;font-weight:600}.welcome p{font-size:12px;color:#778574;line-height:1.8;margin:0}.welcome .stamp{display:flex;align-items:center;gap:14px;color:#497157;font-size:11px;white-space:nowrap}.welcome .stamp svg{width:30px;height:30px;stroke-width:1.1}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:21px 22px}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#7b8b81;font-size:12px}.metric-top svg{color:#9aa99b;width:17px;height:17px}.metric-value{font-family:Inter,"Segoe UI",sans-serif;display:block;font-size:31px;font-weight:500;letter-spacing:-1px;margin:14px 0 10px;line-height:1.3;overflow-wrap:anywhere}.metric-foot{font-size:10px;color:#99a39b}.metric-foot span{color:#708c63}.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid #f0f2ee;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{font-size:14px;font-weight:600;margin:0}.panel-head small{color:var(--muted);font-size:11px}.panel-body{padding:20px 22px}.stack{display:flex;flex-direction:column;gap:20px}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:22px}.pipeline-step{padding:15px 12px;background:#f5f7f2;min-width:0}.pipeline-step:first-child{border-radius:6px 0 0 6px}.pipeline-step:last-child{border-radius:0 6px 6px 0}.pipeline-step .n{display:block;font-size:23px;margin:12px 0 8px}.pipeline-step .label{font-size:10px;color:#819079}.pipeline-step .bar{height:3px;border-radius:5px;background:#cedace}.pipeline-step:nth-child(2) .bar{background:#acc5ac}.pipeline-step:nth-child(3) .bar{background:#88aa8b}.pipeline-step:nth-child(4) .bar{background:#5e9278}.pipeline-step:nth-child(5) .bar{background:#2c6753}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}thead{font-size:10px;color:#8a978e;background:#fafbf8}th{font-weight:500;letter-spacing:.2px;padding:13px 20px}td{padding:16px 20px;border-bottom:1px solid #eff1ed;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf8}.cell-main{font-weight:550;color:#30483c;max-width:220px;overflow:hidden;text-overflow:ellipsis}.cell-sub{font-size:10px;color:#98a299;margin-top:5px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-block;font-size:10px;padding:4px 8px;border-radius:4px;color:#608370;background:#edf4ee;white-space:nowrap}.pill.gold{background:#f6efdf;color:#9b8255}.pill.blue{background:#eef2f7;color:#7585a2}.pill.gray{background:#f0f2ee;color:#939c90}.pill.red{background:#faeded;color:#ad6868}.link-btn{padding:0;border:0;background:none;color:#47785f;font-size:12px}.link-btn:hover{background:none;text-decoration:underline}.empty{text-align:center;padding:42px 20px;color:#94a096;font-size:12px;line-height:1.9}.empty svg{width:32px;height:32px;color:#bdc8b9;display:block;margin:0 auto 13px}.empty strong{display:block;color:#63796b;font-weight:500;margin-bottom:7px}.task{padding:15px 0;border-bottom:1px solid #eff2eb}.task:last-child{border:0}.task .title{font-size:12px;font-weight:550;margin-bottom:7px}.task p{font-size:11px;line-height:1.7;color:#869288;margin:0}.task .meta{display:flex;gap:8px;align-items:center;font-size:10px;color:#9ba396;margin-top:8px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick button{flex-direction:column;gap:10px;font-size:11px;padding:16px 8px;border-color:#edf0e9}.quick svg{color:#638773}.info-note{font-size:11px;line-height:1.8;color:#8d9588;background:#fafbf7;padding:14px 18px;border-top:1px solid var(--line)}.toolbar{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.searchbox{position:relative;display:flex;align-items:center;gap:8px;min-width:200px;max-width:360px;background:#f7f8f5;border:1px solid #e8ece5;border-radius:6px;padding:8px 11px}.searchbox svg{width:16px;height:16px;color:#9ba79d}.searchbox input{border:0;background:transparent;padding:0;outline:none;width:100%;font-size:12px}.filters{display:flex;gap:9px;align-items:center}.filters select{font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:#758577;background:white;max-width:220px}.tabs{display:flex;gap:6px;margin-bottom:20px;overflow:auto}.tabs button{font-size:12px;background:transparent;border-color:transparent;white-space:nowrap}.tabs button.active{background:#fff;border-color:var(--line);color:var(--green);font-weight:600}.pager{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#728074}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{padding:10px 11px;border:1px solid #dce4db;border-radius:6px;background:#fff;min-width:0;color:var(--ink);width:100%}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6f9981;outline:2px solid #dce8dc}.field textarea{min-height:87px;resize:vertical}.field small{color:#9a9f93;line-height:1.7;font-size:10px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--green)}label.check{display:flex;align-items:center;gap:8px;font-size:12px;color:#788578}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.form-error{font-size:12px;color:#b05a4d;line-height:1.8;margin-top:14px}.muted{color:var(--muted)}.amount{font-variant-numeric:tabular-nums;font-weight:550}.amount small{font-size:9px;font-weight:400;margin-right:5px;color:var(--muted)}dialog{border:0;border-radius:13px;width:min(690px,94vw);padding:0;box-shadow:0 30px 100px #20332645;max-height:90vh;color:var(--ink)}dialog::backdrop{background:#1c30284a;backdrop-filter:blur(3px)}.modal-head{padding:24px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:19px;font-weight:600}.modal-body{padding:24px 28px}.modal-head button{border:0;padding:3px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.detail-grid label{font-size:10px;color:var(--muted);display:block;margin-bottom:8px}.detail-grid p{margin:0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.timeline{border-left:1px solid #dce6d8;margin:15px 0 15px 5px;padding-left:20px}.timeline-item{position:relative;margin-bottom:21px}.timeline-item:before{content:"";position:absolute;left:-24px;top:6px;background:#76a085;border:2px solid white;border-radius:50%;width:6px;height:6px}.timeline-item time{font-size:10px;color:#919c91}.timeline-item p{font-size:12px;line-height:1.9;white-space:pre-wrap}.section-label{font-size:11px;font-weight:600;margin:24px 0 12px;color:#6c8672}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.login-art{background:#1c493e;padding:60px;display:flex;flex-direction:column;color:#edf5ea;position:relative;overflow:hidden}.login-art .brand{padding:0}.login-art .brand small{color:#9caf9a}.login-art .intro{margin:auto 0;position:relative;z-index:1;max-width:410px}.login-art h1{font-size:42px;font-weight:450;line-height:1.6;letter-spacing:2px;margin-bottom:20px}.login-art p{font-size:13px;color:#abc0ad;line-height:2.2}.login-art .orb{position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid #66857350;right:-260px;bottom:40px;box-shadow:0 0 0 80px #6685730d,0 0 0 160px #6685730a,0 0 0 240px #66857308}.login-art footer{font-size:10px;letter-spacing:1px;color:#91a996}.login-form{display:grid;place-items:center;padding:40px}.login-card{width:min(370px,100%)}.login-card h2{font-size:27px;font-weight:600;margin-bottom:12px}.login-card .subtitle{margin-bottom:28px}.login-card form{display:flex;flex-direction:column;gap:19px}.login-card button{margin-top:8px;padding:12px}.auth-footer{font-size:11px;color:#9caa9c;margin-top:24px;line-height:1.8}.boot{min-height:100vh;display:grid;place-items:center;color:#7e947f;font-size:13px}.error-page{padding:45px;line-height:2}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}.media-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.media-thumb{height:135px;background:#f1f4ee;display:grid;place-items:center;color:#799078;position:relative}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-thumb svg{height:38px;width:38px;stroke-width:1.1}.media-thumb label{position:absolute;left:10px;top:10px;z-index:1}.media-info{padding:14px}.media-info strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-info small{font-size:10px;color:var(--muted);display:block;margin:8px 0 12px}.selection-bar{position:sticky;bottom:20px;margin:15px 20px;padding:13px 17px;border-radius:8px;background:#254e40;color:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;font-size:12px;z-index:2}.selection-bar button{padding:8px 13px}.share-page{max-width:860px;margin:50px auto;padding:0 20px}.share-page header{display:flex;align-items:center;gap:10px;margin-bottom:35px;font-size:14px;font-weight:600}.share-page header img{width:30px}.share-page h1{font-weight:500;line-height:1.6}.share-page .media-grid{grid-template-columns:repeat(2,1fr)}.share-page footer{font-size:11px;color:var(--muted);text-align:center;padding:25px}.media-preview img,.media-preview video{max-width:100%;max-height:60vh}.media-preview iframe{width:100%;height:65vh;border:1px solid var(--line)}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.report-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eef1e9;font-size:12px}.info-banner{padding:13px 17px;font-size:11px;line-height:1.9;background:#fbf6e9;border:1px solid #eee4ca;border-radius:7px;color:#958054;margin-bottom:20px}.item-row{display:grid;grid-template-columns:2fr 70px 1fr 30px;gap:9px;margin-bottom:10px}.item-row input{width:100%;border:1px solid var(--line);border-radius:5px;padding:9px}.item-row button{padding:4px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(15px);opacity:0;pointer-events:none;background:#294f40;color:white;box-shadow:var(--shadow);padding:13px 22px;border-radius:8px;max-width:90vw;font-size:12px;z-index:20;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-menu{display:none}
@media(min-width:1500px){.view{padding-top:40px}.metrics{gap:22px}.metric{padding:24px}.grid-main{grid-template-columns:minmax(0,1fr) 330px}.media-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1150px){.sidebar{width:195px;padding-left:13px;padding-right:13px}.main{margin-left:195px}.view{padding:25px}.topbar{padding:0 25px}.grid-main{grid-template-columns:minmax(0,1fr)}.grid-main>.stack{display:grid;grid-template-columns:1fr 1fr}.metric{padding:17px}.metric-value{font-size:26px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s;width:224px;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main{margin:0}.mobile-menu{display:inline-flex;padding:5px;border:0}.topbar{height:62px;padding:0 17px}.topbar-right .date{display:none}.view{padding:22px 16px}.page-head{align-items:flex-start}.page-head h1{font-size:22px}.page-head>.actions{flex-wrap:wrap;justify-content:flex-end}.page-head>.actions button{font-size:11px;padding:8px 10px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px}.metric-value{font-size:25px}.welcome{padding:16px}.welcome .stamp{display:none}.grid-main>.stack{display:flex}.pipeline{padding:13px;gap:3px}.pipeline-step{padding:10px 7px}.toolbar{align-items:stretch;flex-direction:column;padding:13px}.searchbox{max-width:none}.filters{flex-wrap:wrap}.media-grid{grid-template-columns:1fr 1fr;padding:12px;gap:10px}.media-thumb{height:115px}.report-grid{grid-template-columns:1fr}.login-screen{display:block}.login-art{display:none}.login-form{min-height:100vh;padding:30px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-body{padding:20px}.modal-head{padding:20px}.detail-grid{gap:17px}.share-page{margin:25px auto}.share-page .media-grid{grid-template-columns:1fr}.item-row{grid-template-columns:1.5fr 55px 1fr 25px;font-size:11px}td,th{padding:13px}.info-banner{font-size:10px}.topbar-right{gap:8px}.section-label{margin-top:18px}}
.stack{min-width:0}.nav button{font-size:13px}.nav .count{white-space:nowrap}.filters input[type=date]{padding:8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);max-width:155px}.media-card{min-width:0}.sidebar{overflow-y:auto}
@media(max-width:1150px){.nav .count{display:none}.grid-main>.stack:first-child{display:flex}.grid-main>.stack:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-right{font-size:10px}.topbar .date{display:none}}
@media(max-width:760px){.topbar{gap:5px}.crumb b{margin-left:3px}.crumb{font-size:10px}.topbar-right{font-size:9px}.page-head{flex-wrap:wrap}}
.searchbox button{white-space:nowrap;flex-shrink:0}.nav .count{display:none}.nav button{white-space:nowrap}.nav button .icon{flex-shrink:0}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.customer-search{display:flex;gap:8px}.customer-search input{flex:1;min-width:0}.customer-search button{flex-shrink:0;white-space:nowrap}.customer-picker select{max-width:100%}.history-snapshot{margin-bottom:20px}.history-snapshot summary{padding:16px 20px;cursor:pointer;color:var(--muted);font-size:12px}.history-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.history-fields label{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.history-fields p{margin:0;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.history-source-card{padding:14px;border:1px solid var(--line);border-radius:7px;margin-top:12px}.history-source-card>p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.history-attachment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;font-size:11px;border-top:1px solid var(--line)}.history-prewrap{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.customer-search{flex-direction:column}.history-fields{grid-template-columns:1fr}.history-source-tabs{flex-wrap:wrap}.history-attachment{align-items:flex-start;flex-direction:column}}
