:root{--ink:#202a30;--muted:#7b8388;--line:#e9eceb;--bg:#f5f6f5;--green:#197c68;--soft:#e9f4ef;--shadow:0 8px 30px #273c3610;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--green)}button{border:0;background:none;color:inherit}svg{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a{color:var(--green)}.shell{display:flex;min-height:100vh}.sidebar{width:238px;background:#fff;border-right:1px solid var(--line);padding:36px 20px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:5}.brand{font-size:25px;font-weight:850;letter-spacing:3px;padding:0 15px}.brand small{display:block;font-size:10px;letter-spacing:3.3px;font-weight:500;color:#909896;margin-top:7px}.workspace{margin:34px 0 26px;padding:12px;border:1px solid var(--line);border-radius:12px;display:flex;gap:10px;align-items:center}.workspace .mark{background:#1b302a;color:white;letter-spacing:-1px;padding:9px;border-radius:9px;font-size:12px;font-weight:700}.workspace b{font-size:12px;display:block}.workspace small{font-size:10px;color:var(--muted)}.nav-caption{font-size:10px;color:#9ca3a0;letter-spacing:2px;margin:0 14px 10px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:13px;text-align:left;border-radius:10px;padding:13px 14px;font-size:13px;color:#6e7773}.nav button:hover{background:#f6f8f6}.nav button.active{background:var(--soft);color:var(--green);font-weight:650}.nav .count{margin-left:auto;font-size:10px;border:1px solid #c9dfd4;padding:1px 5px;border-radius:4px}.side-bottom{margin-top:auto;padding:20px 12px 0}.side-note{background:#f7f8f7;border-radius:12px;padding:15px;font-size:11px;color:#7a8780;line-height:1.8}.side-note b{display:block;color:#586961;font-size:12px}.avatar{background:#e7ece8;color:#4d6256;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:12px;font-weight:600;flex-shrink:0}.side-user{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:12px}.side-user small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.main{margin-left:238px;min-width:0;width:calc(100% - 238px)}.topbar{height:77px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#ffffffb3;gap:12px}.breadcrumb{font-size:12px;color:#929a95;display:flex;align-items:center;gap:12px}.breadcrumb b{font-weight:500;color:#515e57}.top-actions{display:flex;align-items:center;gap:14px}.live{font-size:10px;color:#7b8780;display:flex;gap:6px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;background:#5ea881;display:inline-block}.role-select{font-size:11px!important;width:auto!important;background:#fff!important;border-radius:8px!important;max-width:210px}.content{max-width:1540px;margin:auto;padding:36px 42px 34px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#8b9690;font-weight:600;margin-bottom:8px}.page-head h1{font-size:29px;letter-spacing:-.7px;font-weight:650;margin:0 0 10px}.subtitle{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.head-buttons{display:flex;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dde3df;border-radius:9px;padding:10px 15px;background:#fff;font-size:12px;white-space:nowrap;line-height:1.4}.btn svg{width:15px;height:15px}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.soft{background:var(--soft);border-color:transparent;color:var(--green)}.btn.danger{color:#b95650;background:#fcf0ef;border-color:transparent}.btn.small{font-size:11px;padding:7px 10px}.text-btn{color:var(--green);font-size:12px;padding:4px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:15px;padding:20px 22px}.stat-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7d8781}.stat-label svg{width:16px;height:16px;color:#9aa99f}.stat-value{font-size:29px;font-weight:620;letter-spacing:-1px;margin:17px 0 11px;font-variant-numeric:tabular-nums}.stat-value small{font-size:15px;font-weight:500;margin-right:3px}.stat-note{font-size:10px;color:#9ba29e}.stat-note .green{color:var(--green)}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:22px;margin-bottom:23px}.card{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden}.card.pad{padding:24px}.card-head{padding:22px 24px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-head h2,h2{font-size:15px;font-weight:650;margin:0}.card-head p{font-size:10px;color:var(--muted);margin:7px 0 0}.hero{padding:27px 28px;background:#eaf1ed;position:relative;min-height:214px;display:flex;justify-content:space-between;overflow:hidden}.hero h2{font-size:23px;line-height:1.45;letter-spacing:-.5px;max-width:370px;margin:10px 0}.hero p{font-size:11px;color:#6d8073;max-width:290px;line-height:1.8;margin:0 0 18px}.hero-graphic{width:170px;align-self:center;transform:rotate(-8deg);flex-shrink:0;display:flex;align-items:center;justify-content:center}.ticket{width:128px;height:152px;border:1px solid #bdcfc1;background:#f8faf5;border-radius:7px;box-shadow:14px 14px 0 #cfddd2;padding:14px;display:flex;flex-direction:column;justify-content:space-between}.ticket b{font-size:12px;letter-spacing:2px}.ticket .reel{width:54px;height:54px;border:1px solid #9cb5a4;border-radius:50%;display:grid;place-items:center;color:#72977d;font-size:26px}.ticket small{font-size:8px;letter-spacing:1px;border-top:1px dashed #c3d2c8;padding-top:7px}.activity{padding:23px;display:flex;flex-direction:column;justify-content:space-between}.badge{display:inline-flex;align-items:center;gap:5px;background:#eef6f1;color:#408463;border-radius:5px;font-size:10px;padding:5px 8px;white-space:nowrap}.badge.amber{background:#fff6e7;color:#aa7b32}.badge.gray{background:#f1f3f2;color:#88918b}.badge.blue{background:#eef3f9;color:#6584ac}.activity h2{font-size:17px;margin:13px 0 8px}.activity p{font-size:11px;color:var(--muted);margin:0}.activity-numbers{display:flex;gap:38px;margin:20px 0}.activity-numbers strong{display:block;font-size:22px;font-weight:600;margin-top:6px}.activity-numbers small{font-size:10px;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{font-weight:500;color:#8e9892;text-align:left;padding:13px 24px;background:#fbfcfb;font-size:10px;border-top:1px solid #f1f3f1;border-bottom:1px solid #f1f3f1}td{padding:17px 24px;border-bottom:1px solid #f0f2f0;color:#55635a}tr:last-child td{border-bottom:0}td b{color:#344339;font-weight:550}td small{display:block;font-size:9px;color:#9ca69f;margin-top:6px}.row-title{display:flex;align-items:center;gap:12px}.project-icon{width:36px;height:39px;border-radius:9px;background:#f0f2ed;display:grid;place-items:center;color:#829680}.progress{display:flex;align-items:center;gap:10px;font-size:10px;color:#8d9891}.track{height:4px;width:68px;background:#ebefeb;border-radius:3px;overflow:hidden}.track span{display:block;height:100%;background:#76a88a;border-radius:3px}.todo{padding:0 23px 7px}.todo-item{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid #f1f3f1;align-items:center}.todo-item:last-child{border-bottom:0}.todo-dot{width:32px;height:32px;background:#fbf4e8;color:#b0905f;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.todo-dot svg{width:16px;height:16px}.todo-item b{font-size:11px;font-weight:550}.todo-item small{display:block;font-size:10px;color:#9aa39d;margin-top:6px}.todo-item .text-btn{margin-left:auto;white-space:nowrap;font-size:10px}.bar-row{padding:11px 24px 15px;display:grid;grid-template-columns:74px 1fr 75px;gap:12px;align-items:center;font-size:11px}.bar-track{height:7px;border-radius:5px;background:#f0f3f0;overflow:hidden}.bar-track span{display:block;height:100%;background:#8cab97;border-radius:5px}.bar-row strong{text-align:right;font-size:11px;font-weight:500}.footnote{font-size:10px;color:#a1aaa4;line-height:1.8}.page-footer{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#a4ada7;margin-top:27px;letter-spacing:.3px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.search{position:relative;max-width:320px;flex:1;min-width:160px}.search svg{position:absolute;left:12px;top:12px;width:15px;height:15px;color:#9aa59d}.search input{padding-left:36px}.tabs{display:flex;gap:5px;background:#e9eeea;padding:4px;border-radius:9px;width:max-content;max-width:100%;overflow:auto}.tabs button{padding:8px 15px;font-size:11px;white-space:nowrap;border-radius:6px;color:#7c8980}.tabs button.active{background:white;color:#3b5445;box-shadow:0 1px 5px #00000006}input,select,textarea{width:100%;border:1px solid #dfe5e0;border-radius:8px;background:#fff;padding:10px 12px;font-size:12px;color:var(--ink);min-width:0}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#6cae91;outline:2px solid #e0f0e8}.sku-icon{width:44px;height:48px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.sku-icon svg{width:30px;height:30px;stroke-width:1.25}.coral{background:#f8eae5;color:#ba7762}.sand{background:#f2eddf;color:#a6936c}.sage{background:#e5ede5;color:#6f8c74}.blue{background:#e9eef2;color:#8297aa}.lavender{background:#efeaf5;color:#a08cad}.metric-row{display:flex;gap:25px;flex-wrap:wrap}.metric-row span{font-size:11px;color:#8b9790}.metric-row b{display:block;color:#34453b;font-size:20px;margin-top:8px}.bundle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bundle-card{padding:24px}.bundle-art{height:110px;background:#f5f7f3;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;margin-bottom:22px}.bundle-art .sku-icon{width:58px;height:63px;transform:rotate(-6deg)}.bundle-art .sku-icon:nth-child(2){transform:rotate(5deg)}.bundle-card h2{font-size:17px;margin-bottom:10px}.bom-line{display:flex;justify-content:space-between;font-size:11px;color:#87958b;border-bottom:1px solid #f0f3ef;padding:11px 0}.bundle-price{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.bundle-price b{font-size:24px;font-weight:600}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px;align-items:start}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product{background:white;border:1px solid var(--line);border-radius:13px;padding:14px;text-align:left;position:relative}.product:hover{border-color:#9bbb9f;box-shadow:var(--shadow)}.product-art{height:100px;border-radius:9px;display:grid;place-items:center;margin-bottom:15px}.product-art svg{width:59px;height:59px;stroke-width:1.15}.product b{font-size:12px;display:block}.product small{font-size:10px;color:#929f95;display:block;margin:7px 0 16px}.product .price{font-size:17px;font-weight:650}.product .plus{position:absolute;right:14px;bottom:13px;background:#edf4ee;color:var(--green);width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:18px}.cart{position:sticky;top:20px;padding:23px}.cart h2{padding-bottom:19px;border-bottom:1px solid var(--line)}.cart-line{padding:17px 0;border-bottom:1px solid var(--line)}.cart-line .row{display:flex;justify-content:space-between;gap:7px;font-size:12px;margin-bottom:10px}.cart-line .edits{display:flex;gap:10px;align-items:center;color:#7a8b7e;font-size:10px}.cart-line input{width:80px;padding:7px;font-size:11px}.cart-total{display:flex;justify-content:space-between;margin:24px 0;font-size:13px;align-items:center}.cart-total strong{font-size:24px}.cart .btn{width:100%;margin-top:9px}.empty{padding:35px 20px;text-align:center;font-size:12px;line-height:1.9;color:#93a096}.empty svg{display:block;margin:0 auto 12px;width:30px;height:30px}.notice{border-radius:9px;padding:13px 16px;font-size:11px;line-height:1.8;background:#edf4ef;color:#698575;margin-bottom:20px}.notice.amber{background:#fbf4e8;color:#a17b4b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .wide{grid-column:1/-1}label{display:block;font-size:11px;color:#78877c}label>input,label>select,label>textarea{margin-top:7px}.field-section{grid-column:1/-1;font-size:12px;font-weight:650;padding-top:10px;border-top:1px solid var(--line);color:#3e5546}.field-section:first-child{border:0;padding-top:0}dialog{border:1px solid var(--line);border-radius:19px;padding:0;width:min(750px,94vw);max-height:90vh;box-shadow:0 24px 100px #173c3233;color:var(--ink)}dialog::backdrop{background:#1d2a2548;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:23px 28px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:19px}.close{font-size:24px;color:#7b8980;line-height:1;padding:5px}.modal-content{padding:25px 28px;overflow:auto}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:18px 28px;border-top:1px solid var(--line);background:#fafcf9}.form-error{color:#b85b53;font-size:12px;margin:12px 0;min-height:16px}.detail-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.detail-top h2{font-size:22px;margin-bottom:10px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.detail-grid>div{background:#f6f8f5;padding:15px;border-radius:10px;font-size:10px;color:#86978a}.detail-grid b{display:block;font-size:17px;color:#3d5846;margin-top:9px}.detail-grid.internal>div{background:#edf4f0}.timeline{border-left:1px solid #dce7df;margin:15px 0 15px 8px;padding-left:22px}.timeline-item{padding:0 0 20px;position:relative}.timeline-item:before{content:'';width:7px;height:7px;background:#9db3a3;border:3px solid white;border-radius:50%;position:absolute;left:-29px;top:2px}.timeline-item b{font-size:12px;font-weight:500}.timeline-item small{display:block;font-size:10px;color:#9aa69d;margin-top:6px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 30% 20%,#e2ede5,transparent 60%),#f5f7f4;padding:30px}.login-card{width:650px;max-width:100%;padding:45px;background:#ffffffdb;border:1px solid white;border-radius:24px;box-shadow:0 30px 100px #2a493410}.login-card .brand{padding:0}.login-card h1{font-size:30px;font-weight:550;margin-top:45px}.login-card p{font-size:12px;line-height:1.9;color:#87918a}.login-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:30px 0}.login-options button{padding:19px;text-align:left;border:1px solid #dce5de;border-radius:12px;font-size:13px;background:#fff}.login-options button:first-child{border-color:#8fb49c;background:#f2f7f1}.login-options small{display:block;color:#8e9e91;font-size:10px;margin-top:8px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:10px;border:1px solid #e2e9e2;padding:6px 9px;border-radius:6px;color:#6c8372}.log-detail{white-space:normal;min-width:220px;max-width:460px;line-height:1.7}.data-label{font-size:9px;background:#f0f2f0;color:#89928c;border-radius:4px;padding:4px 6px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(90px);opacity:0;background:#233c2e;color:#fff;font-size:12px;max-width:90vw;padding:14px 24px;border-radius:12px;z-index:100;transition:all .2s;box-shadow:var(--shadow)}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}.mobile-brand{display:none}.finance-table td{font-variant-numeric:tabular-nums}.bom-edit{display:grid;grid-template-columns:minmax(150px,1fr) 70px 80px 35px;gap:8px;margin-bottom:10px;align-items:end}.event-select{max-width:240px}.muted{color:var(--muted)}.split{display:flex;justify-content:space-between;gap:10px;align-items:center}.stack{display:flex;flex-direction:column;gap:18px}
@media(min-width:1500px){.content{padding-top:42px}.hero{min-height:238px}.stat{padding:24px}.stat-value{font-size:32px}}
@media(max-width:1150px){.sidebar{width:200px;padding-left:12px;padding-right:12px}.main{margin-left:200px;width:calc(100% - 200px)}.content{padding:28px 25px}.topbar{padding:0 25px}.two-col{grid-template-columns:1.3fr 1fr}.hero-graphic{width:100px;opacity:.8}.ticket{width:92px;height:135px}.hero h2{font-size:21px}.stats{gap:10px}.stat{padding:17px}.stat-value{font-size:24px}.bundle-grid{grid-template-columns:repeat(2,1fr)}.products{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:minmax(0,1fr) 275px}.live{display:none}}
@media(max-width:900px){.sidebar{width:78px;padding:30px 10px}.sidebar .brand{font-size:12px;letter-spacing:0;padding:0;text-align:center}.sidebar .brand small,.workspace,.nav-caption,.nav-label,.nav .count,.side-bottom{display:none}.nav{margin-top:35px}.nav button{justify-content:center;padding:15px}.main{margin-left:78px;width:calc(100% - 78px)}.two-col{grid-template-columns:1fr}.hero-graphic{width:180px}.ticket{width:130px}.stats{grid-template-columns:repeat(2,1fr)}.page-head h1{font-size:26px}.activity{min-height:190px}.activity-numbers{margin:14px 0}.bundle-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.sidebar{top:auto;bottom:0;width:100%;height:64px;padding:0 4px;border-right:0;border-top:1px solid #e0e7e0;background:#fffffff5;backdrop-filter:blur(15px)}.sidebar>.brand{display:none}.nav{margin:0;display:flex;flex-direction:row;overflow:auto;gap:0}.nav button{flex:1;min-width:61px;padding:10px 4px 8px;flex-direction:column;gap:5px;border-radius:0}.nav svg{width:18px;height:18px}.nav .nav-label{display:block;font-size:8px;white-space:nowrap}.nav button.active{background:none}.main{margin:0;width:100%;padding-bottom:65px}.topbar{height:65px;padding:0 18px}.breadcrumb{display:none}.mobile-brand{display:block;font-size:16px;font-weight:800;letter-spacing:1px}.role-select{max-width:166px;font-size:10px!important;padding:8px!important}.content{padding:24px 18px}.page-head{align-items:flex-start;gap:12px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{font-size:25px;margin-bottom:8px}.eyebrow{font-size:8px}.subtitle{font-size:11px}.head-buttons .btn{font-size:11px;padding:8px 12px}.stats{gap:10px;margin-bottom:19px}.stat{padding:16px}.stat-value{font-size:25px;margin:13px 0 9px}.stat-label{font-size:10px}.stat-note{font-size:9px}.hero{padding:23px;min-height:215px}.hero h2{font-size:21px;max-width:205px}.hero p{font-size:10px;max-width:200px}.hero-graphic{width:80px;opacity:.7}.ticket{width:85px;height:130px;padding:10px}.ticket b{font-size:8px}.ticket small{font-size:6px}.ticket .reel{width:43px;height:43px}.two-col{gap:18px;margin-bottom:18px}.card-head{padding:20px}.card-head h2{font-size:14px}.card-head p{font-size:9px}td,th{padding:14px 18px}.page-footer{font-size:8px;flex-direction:column;gap:7px}.bundle-grid{grid-template-columns:1fr}.pos-layout{display:flex;flex-direction:column;gap:18px}.pos-layout>div,.cart{width:100%}.products{grid-template-columns:repeat(2,1fr);gap:10px}.product{padding:12px}.product-art{height:97px}.cart{position:static}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-content{padding:21px}.modal-head{padding:20px}.modal-footer{padding:16px 21px}.detail-grid{grid-template-columns:repeat(2,1fr);gap:10px}.detail-grid b{font-size:16px}.detail-top{align-items:flex-start;flex-direction:column}.login{padding:20px}.login-card{padding:27px}.login-card h1{font-size:25px}.login-options{grid-template-columns:1fr}.login-options button{padding:16px}.bom-edit{grid-template-columns:1fr 55px 55px 23px;gap:4px}.bom-edit input,.bom-edit select{font-size:10px;padding:8px 5px}.event-select{max-width:100%}.toolbar{gap:10px}.toolbar .search{max-width:100%}.top-actions{gap:6px}.data-label{font-size:8px}.notice{font-size:10px}.card.pad{padding:20px}#toast{bottom:80px}.tabs button{padding:8px 11px}}

.mobile-cartbar{display:none}@media(max-width:620px){.mobile-cartbar{display:flex;position:fixed;bottom:70px;left:12px;right:12px;z-index:4;justify-content:space-between;align-items:center;background:#244d3d;color:white;border-radius:12px;padding:14px 16px;box-shadow:0 5px 20px #1b40272a;font-size:10px}.mobile-cartbar svg{width:16px;height:16px;margin-right:6px}.mobile-cartbar b{font-size:11px;font-weight:500}.pos-layout{padding-bottom:55px}.cart{scroll-margin-top:15px}.pos-layout+.mobile-cartbar+.page-footer{padding-bottom:45px}}

.project-link{font-size:inherit;font-weight:550;padding:0;text-align:left;color:#344339}.project-link:hover{color:var(--green)}.compact-table td,.compact-table th{padding-left:16px;padding-right:12px}.compact-table .row-title{gap:9px}.compact-table .project-icon{width:29px;height:34px;flex-shrink:0}.compact-table .project-link{font-size:11px;max-width:174px;white-space:normal;line-height:1.6}.compact-table .track{width:45px}.compact-table .progress{gap:7px}.compact-table .badge{font-size:9px;padding:4px 6px}
/* Two independent workspaces, one shared entrance. */
.portal-page{min-height:100vh;background:radial-gradient(ellipse at 10% 12%,#e8efee90,transparent 45%),radial-gradient(ellipse at 95% 80%,#ecede450,transparent 45%),#f7f8f7}.portal-header{max-width:1380px;margin:auto;padding:32px 48px;display:flex;justify-content:space-between;align-items:center;gap:20px}.portal-header .brand{padding:0;font-size:27px}.portal-account{display:flex;gap:12px;align-items:center}.portal-body{max-width:1130px;padding:26px 42px 36px;margin:auto}.portal-title{text-align:center;margin:22px 0 43px}.portal-title .eyebrow{letter-spacing:3px;font-size:10px}.portal-title h1{font-size:37px;letter-spacing:-1px;font-weight:590;margin:17px 0}.portal-title p{font-size:13px;color:#8b9690;margin:0}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px}.portal-tile{padding:35px 37px 30px;border:1px solid #e1e7e3;border-radius:23px;box-shadow:0 12px 45px #3f514006;background:#fff;position:relative;overflow:hidden}.portal-tile:before{content:'';position:absolute;width:180px;height:180px;border:1px solid currentColor;border-radius:36px;right:-110px;top:132px;transform:rotate(25deg);opacity:.08}.portal-tile-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.portal-tile-top .eyebrow{font-size:9px;color:inherit;opacity:.65;margin:0}.portal-glyph{height:55px;width:55px;border-radius:15px;display:grid;place-items:center}.portal-glyph svg{height:26px;width:26px;stroke-width:1.5}.sales-tile{color:#426993;background:linear-gradient(145deg,#f9fbff,#fff 50%)}.sales-tile .portal-glyph{background:#eaf0f9}.warehouse-tile{color:#327963;background:linear-gradient(145deg,#f3f8f3,#fff 50%)}.warehouse-tile .portal-glyph{background:#e7f1e8}.portal-tile h2{font-size:29px;font-weight:580;letter-spacing:-.5px;margin:27px 0 14px;color:#28352e}.portal-tile>p{font-size:13px;line-height:1.9;color:#829086;margin:0}.portal-tags{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0 27px}.portal-tags span{font-size:10px;background:#f3f5f5;color:#85928b;padding:6px 9px;border-radius:5px}.portal-features{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px;border-top:1px solid #eaf0ea;padding-top:22px;font-size:12px;color:#718178}.portal-features span:before{content:'·';padding-right:10px;color:#b0bdb3}.portal-enter{width:100%;margin-top:31px;border-radius:11px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:white;background:#426b91}.warehouse-tile .portal-enter{background:#28785e}.portal-enter:hover{filter:brightness(.95)}.portal-bridge{display:flex;justify-content:center;align-items:center;gap:15px;padding:28px 15px;margin-top:10px;color:#8d9c92}.portal-bridge>span{border:1px solid #dde5de;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;flex-shrink:0}.portal-bridge svg{width:16px}.portal-bridge b{font-size:11px;font-weight:500;color:#708376}.portal-bridge p{font-size:10px;margin:6px 0 0;line-height:1.8}.module-sales{--green:#426f9d;--soft:#eaf0f8}.module-sales .workspace .mark{background:#426382}.module-warehouse .workspace .mark{background:#2b6952}.workspace .mark svg{width:19px;height:19px}.module-sales .progress .track span{background:#7fa0bf}.module-sales .project-icon{background:#eff3f8;color:#849eb4}.module-sales .todo-dot{background:#eff4fa;color:#8aa1b8}.sidebar .nav{min-height:0;overflow-y:auto;flex-shrink:1}.sidebar .nav button{flex-shrink:0}.module-warehouse .nav button{padding-top:10px;padding-bottom:10px}.back-portal{display:flex;align-items:center;gap:9px;font-size:11px;color:#7b8b80;padding:10px 0;width:100%;border-top:1px solid #edf1ed}.back-portal svg{width:15px;height:15px}.side-user{margin-top:12px}.mobile-back{display:none}.module-quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 23px}.module-quicklinks>button{background:white;border:1px solid var(--line);border-radius:12px;padding:21px 19px;display:flex;align-items:center;gap:13px;text-align:left}.module-quicklinks>button>svg:first-child{width:23px;height:23px;color:var(--green);flex-shrink:0}.module-quicklinks>button>svg:last-child{margin-left:auto;width:16px;color:#acb8af;flex-shrink:0}.module-quicklinks b{display:block;font-size:12px;font-weight:550}.module-quicklinks small{display:block;font-size:10px;color:#96a298;margin-top:7px;line-height:1.6}.sales-overview{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.sales-overview .todo-item small{line-height:1.8;max-width:250px}.progress-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.progress-projects .track{width:160px}.progress-projects .split{align-items:flex-start}.progress-projects .timeline{margin-top:24px}.progress-projects h2{line-height:1.6}.warehouse-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:25px 0}.warehouse-entry-grid>button{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px 23px;text-align:left}.warehouse-entry-grid>button:hover{border-color:#9ebcad;background:#fbfdfa}.entry-index{position:absolute;right:20px;top:24px;font-size:11px;color:#bdc9c0;letter-spacing:1px}.entry-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ecf3ec;color:#7f9c86}.entry-icon svg{width:19px;height:19px}.warehouse-entry-grid h2{font-size:17px;margin:23px 0 11px}.warehouse-entry-grid p{font-size:10px;line-height:1.9;color:#9ba79e;margin:0;min-height:38px}.entry-arrow{display:block;font-size:10px;color:#718e7b;margin-top:21px}.entry-arrow svg{width:13px;margin-left:5px}.mode-note{font-size:10px;line-height:1.7;color:#8a968d;padding:0 0 18px}.portal-body>.mode-note{text-align:center}.check-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#405f4b}.check-label input{width:16px;height:16px;margin:0;accent-color:var(--green)}.project-link-option{border:1px solid #e3eade;background:#f8faf5;border-radius:10px;padding:16px}.project-link-option .footnote{margin-bottom:0}.project-connection{margin-top:25px;padding:17px 18px;border:1px solid #e2e9e1;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f7faf6}.project-connection b{font-size:12px;font-weight:550}.project-connection b svg{width:15px;height:15px;margin-right:5px}.project-connection p{font-size:10px;color:#8d9b90;margin:8px 0 0;line-height:1.8}.linked-skus>.split{padding:13px 0;border-bottom:1px solid var(--line);justify-content:flex-start;font-size:11px}.linked-skus .split>span:not(.sku-icon){flex:1;line-height:1.8}.linked-skus small{display:block;font-size:9px;color:#97a19b}.linked-skus b{font-size:11px;font-weight:500}.portal-header .role-select{padding:10px 12px}
@media(max-width:1150px){.module-quicklinks{gap:10px}.module-quicklinks>button{padding:17px 13px;gap:9px}.module-quicklinks>button>svg:last-child{display:none}.warehouse-entry-grid{grid-template-columns:repeat(2,1fr)}.warehouse-entry-grid p{min-height:0}.sales-overview{grid-template-columns:1fr}.portal-body{padding-left:30px;padding-right:30px}.portal-tile{padding:28px}}
@media(max-width:900px){.portal-header{padding:25px 30px}.portal-tile h2{font-size:26px}.mobile-back{display:block;color:#7e8f83;padding:5px}.sidebar .nav{overflow-y:auto}.portal-title h1{font-size:32px}}
@media(max-width:620px){.portal-header{padding:23px 21px;align-items:flex-start}.portal-header .brand{font-size:21px}.portal-header .brand small{font-size:7px;letter-spacing:1.5px}.portal-account{gap:6px;flex-direction:column;align-items:flex-end}.portal-account .role-select{max-width:151px;padding:7px!important}.portal-body{padding:8px 20px 24px}.portal-title{margin:24px 0 30px;text-align:left}.portal-title h1{font-size:27px;line-height:1.5;max-width:240px}.portal-title .eyebrow{font-size:8px;letter-spacing:2px}.portal-title p{font-size:11px}.portal-grid{grid-template-columns:1fr;gap:20px}.portal-tile{padding:25px}.portal-tile-top .eyebrow{font-size:8px}.portal-tile h2{font-size:25px;margin:22px 0 13px}.portal-tile>p{font-size:12px}.portal-glyph{width:43px;height:43px;border-radius:12px}.portal-glyph svg{width:22px;height:22px}.portal-tags{margin:20px 0}.portal-features{font-size:11px;gap:12px}.portal-enter{margin-top:25px}.portal-bridge{padding:22px 0;align-items:flex-start}.portal-bridge p{font-size:10px}.portal-page .page-footer{margin-top:9px}.portal-body>.mode-note{text-align:left;font-size:9px;padding:0}.module-quicklinks{grid-template-columns:1fr;gap:10px}.module-quicklinks>button{padding:16px}.module-quicklinks>button>svg:last-child{display:block}.module-quicklinks small{margin-top:5px}.warehouse-entry-grid{gap:12px;margin:20px 0}.warehouse-entry-grid>button{padding:19px 17px}.warehouse-entry-grid h2{font-size:16px;margin-top:18px}.entry-index{right:16px;top:20px;font-size:9px}.warehouse-entry-grid p{font-size:9px;min-height:32px}.entry-arrow{margin-top:15px}.progress-projects{grid-template-columns:1fr;gap:16px}.project-connection{align-items:flex-start;flex-direction:column}.sidebar .nav{overflow-x:auto;overflow-y:hidden}.module-warehouse .nav button{padding:10px 4px 8px}.module-sales .nav button{min-width:67px}.module-warehouse .nav button{min-width:69px}.mobile-back{padding:4px}.mobile-back svg{width:17px;height:17px}.topbar{gap:7px;padding:0 12px}.topbar .mobile-brand{font-size:14px;letter-spacing:0;margin-right:auto}.top-actions .data-label{display:none}.role-select{max-width:148px}.mode-note{font-size:9px;padding-bottom:15px}.portal-header .data-label{font-size:8px}}

/* Warehouse records, product options and corporate brand */
.brand svg{display:block;width:156px;max-width:100%;height:auto;margin-bottom:12px}.login-card .brand svg{width:190px}.portal-header .brand svg{width:164px}
.row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:150px}.row-actions .btn{white-space:nowrap}.sku-code{background:#edf7fa;border:1px solid #d8ecf1;border-radius:12px;padding:18px;display:grid;gap:8px;overflow-wrap:anywhere}.sku-code span,.sku-code small{color:#61787d;font-size:12px}.sku-code strong{font-size:17px;letter-spacing:.03em}.attribute-row{border:1px solid var(--line,#e6e9e8);border-radius:12px;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}.attribute-row legend{font-size:12px;font-weight:600;padding:0 8px}.attribute-row input{margin-top:8px}.attribute-row [hidden]{display:none}.opening-stock{margin-top:24px}.opening-stock summary{cursor:pointer;font-weight:600}.report-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin-bottom:20px}.report-filters label{display:grid;gap:8px;font-size:12px}.report-filters input{border:1px solid #dce3df;border-radius:8px;padding:9px;background:#fff}.table-wrap small{overflow-wrap:anywhere}.login-options{grid-template-columns:1fr 1fr}.login-options button:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:640px){.attribute-row{grid-template-columns:1fr}.login-options{grid-template-columns:1fr}.brand svg{width:140px}.report-filters label{flex:1}.sku-code strong{font-size:14px}}

.activity-info{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border-radius:14px;background:#edf5ef;border:1px solid #dce9df;margin:18px 0}.activity-info h2{margin:0 0 10px}.activity-info p{font-size:12px;color:#647769;margin:5px 0}.event-picker{display:grid;gap:8px;font-size:12px}.activity-steps{display:flex;gap:8px;overflow:auto;margin:22px 0;padding-bottom:6px}.activity-steps button{white-space:nowrap;background:#fff;border:1px solid #dfe6e0;border-radius:9px;padding:12px 18px;color:#6b7970;font:inherit;font-size:12px;cursor:pointer}.activity-steps button.active{background:#244c3b;color:#fff;border-color:#244c3b}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0}.section-title h2{font-size:19px;margin:0}.section-title p{font-size:12px;color:#728079;line-height:1.7;margin:8px 0}.dispatch-row{display:grid;grid-template-columns:minmax(160px,2fr) minmax(70px,.6fr) minmax(90px,.8fr) 28px;gap:10px;align-items:end;margin:14px 0}.dispatch-row label{min-width:0}.dispatch-row select,.dispatch-row input{width:100%;min-width:0}.dispatch-row button{height:38px;border:0;background:#f6eded;border-radius:8px;color:#a35656;cursor:pointer}.return-row{display:grid;grid-template-columns:1fr 100px;gap:6px 16px;border-bottom:1px solid #e5eae6;padding:14px 0}.return-row small{grid-column:1;color:#7a8980}.return-row input{grid-column:2;grid-row:1/3}.activity-info .btn{flex-shrink:0}@media(max-width:640px){.section-title,.activity-info{align-items:flex-start;flex-direction:column}.dispatch-row{grid-template-columns:1fr 1fr 30px;padding:10px 0;border-bottom:1px solid #e5eae6}.dispatch-row label:first-child{grid-column:1/-1}.activity-steps button{padding:10px 12px}.activity-info{padding:18px}.section-title .head-buttons{width:100%}}

.stock-filter-card{margin-bottom:22px}.stock-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stock-filter-grid label{display:grid;gap:8px;min-width:0;font-size:12px;color:#65766b}.stock-filter-grid select,.stock-filter-grid input{width:100%;min-width:0;padding:10px 12px;border:1px solid #dce5df;background:#fff;border-radius:9px;font:inherit;color:#293e32}.stock-filter-search{margin-top:18px}.stock-filter-search .search{max-width:100%;width:100%}.sku-code-link{display:block;overflow-wrap:anywhere;text-align:left;margin-top:6px}@media(max-width:1000px){.stock-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.stock-filter-grid{grid-template-columns:1fr}.stock-filter-card{padding:18px}}

.participant-row{display:flex;gap:12px;align-items:end;margin:10px 0}.participant-row label{flex:1;min-width:0}.custom-participant{border:1px solid #dce6df;border-radius:12px;padding:16px;margin:12px 0}.custom-participant>.btn{margin-top:12px}.event-contacts{margin-top:14px;font-size:12px}.event-contacts summary{cursor:pointer;color:#315b44}.contact-list{display:grid;gap:12px;margin-top:14px}.contact-list>div{display:flex;gap:8px 16px;flex-wrap:wrap}.contact-list span{color:#657a6c}@media(max-width:600px){.participant-row{align-items:stretch;flex-direction:column}.participant-row .btn{align-self:flex-end}.contact-list>div{display:grid}}

/* Account access */
.auth-form{display:grid;gap:16px;text-align:left;margin-top:24px}.auth-form label{display:grid;gap:8px;font-size:13px;font-weight:600}.auth-form input{width:100%;padding:12px;border:1px solid #dce2e4;border-radius:10px;font:inherit;background:#fff}.auth-form .form-error{margin:0;min-height:20px}.auth-form button{justify-content:center;min-height:46px}.account-label{font-size:13px;text-align:right}.account-label small{display:block;color:#7b8388;font-size:11px}.login-card{max-width:560px}.login-card h1{margin-top:30px}.login-card .brand{max-width:245px}@media(max-width:600px){.account-label{max-width:130px}.top-actions .data-label{display:none}}

.login-card .form-error{color:#b54740}.auth-form input:focus-visible{outline:3px solid #8ac8df;outline-offset:2px}
/* Activity list and archive */
.event-filter-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr 2fr auto;gap:14px;align-items:end;margin:20px 0}.event-filter-grid label{display:grid;gap:7px;font-size:12px;color:#65766b}.event-filter-grid select,.event-filter-grid input{width:100%;min-width:0;border:1px solid #dce5df;border-radius:9px;background:#fff;padding:10px;font:inherit}.activity-accordion{border:1px solid #e0e6e2;border-radius:15px;background:#fff;margin:12px 0;overflow:hidden}.activity-accordion h3{margin:0}.activity-title{border:0;background:transparent;width:100%;display:flex;gap:15px;align-items:center;text-align:left;padding:22px;cursor:pointer;color:#263b2f;font:inherit}.activity-title>span:nth-child(2){flex:1;min-width:0}.activity-title b{display:block;font-size:17px}.activity-title small{display:block;margin-top:8px;color:#78857d;font-size:12px;line-height:1.7}.accordion-chevron{font-size:22px;color:#6c8e7b}.activity-expanded{padding:0 22px 24px;border-top:1px solid #edf1ee}.activity-title:focus-visible{outline:3px solid #68a9bd;outline-offset:-4px}.event-archive{margin-top:42px;padding-top:12px;border-top:1px solid #dbe4dd}.archive-year{border:1px solid #dfe6e0;border-radius:12px;margin-bottom:14px;background:#f6f8f6;padding:18px}.archive-year>summary{font-size:18px;font-weight:600;cursor:pointer}.archive-year summary small{font-size:12px;font-weight:400;color:#75837b;margin-left:12px}.archive-month{margin:18px 0 4px;padding-left:14px}.archive-month>summary{cursor:pointer;font-size:14px;color:#526b5d;padding:8px 0}.export-options{display:flex;gap:14px;margin:24px 0}#print-report{display:none}
@media(max-width:900px){.event-filter-grid{grid-template-columns:1fr 1fr}.event-filter-grid label:last-of-type{grid-column:1/-1}.activity-title{padding:16px}.activity-expanded{padding:0 14px 18px}.archive-year{padding:14px}.archive-month{padding-left:4px}}
@page{size:A4 landscape;margin:14mm 12mm}
@media print{body{background:#fff!important;color:#111!important;margin:0!important;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif!important}body.print-report-active>*{display:none!important}body.print-report-active>#print-report{display:block!important}.print-section{break-after:page}.print-section:last-child{break-after:auto}.print-section header strong{font-size:12pt;color:#237496}.print-section h1{font-size:18pt;margin:12px 0;overflow-wrap:anywhere}.print-section header p,.print-section footer{font-size:9pt;color:#555;line-height:1.6}.print-section table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9pt!important}.print-section thead{display:table-header-group}.print-section tr{break-inside:avoid}.print-section th,.print-section td{border:1px solid #ccd5cf!important;padding:7px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;line-height:1.55!important;text-align:left!important;color:#111!important}.print-section th{background:#eef3f0!important;font-weight:600!important}.print-section th:first-child,.print-section td:first-child{width:32px}.print-section footer{margin-top:14px}}
/* Product avatar upload */
.sku-icon.has-photo{padding:0!important;overflow:hidden;flex-shrink:0;background:#f3f5f4}.sku-icon.has-photo img{width:100%;height:100%;object-fit:cover;display:block}.sku-media{border:1px solid #dfe7e2;border-radius:14px;padding:18px;margin:6px 0 14px;min-width:0}.sku-media legend{font-weight:600;padding:0 8px}.media-top{display:flex;align-items:center;gap:16px}.media-top>div:last-child{flex:1;min-width:0}#sku-photo-preview .sku-icon{width:50px;height:50px;border-radius:10px}.media-upload{position:relative;overflow:hidden;display:inline-flex!important;cursor:pointer}.media-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.media-upload:focus-within{outline:3px solid #79b5c9;outline-offset:2px}.photo-editor{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:16px 0}.photo-editor[hidden]{display:none}.photo-editor canvas{width:240px;max-width:100%;aspect-ratio:1;border-radius:12px;background:repeating-conic-gradient(#f1f2f2 0% 25%,white 0% 50%) 50%/16px 16px;touch-action:none;cursor:grab;border:1px solid #dbe5df}.photo-controls{display:grid;gap:14px;align-content:center}.photo-controls label{display:grid;gap:8px}.photo-controls input{width:100%;padding:0!important}.media-icons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.media-icons button{display:grid;justify-items:center;gap:6px;background:#f7f9f8;border:1px solid #e1e7e3;border-radius:10px;padding:10px;min-width:64px;font:inherit;font-size:11px;color:#597364;cursor:pointer}.media-icons button[aria-pressed=true]{border-color:#247d65;background:#e7f3ec;box-shadow:0 0 0 1px #247d65}.media-icons svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5}.media-icons button:focus-visible{outline:3px solid #79b5c9;outline-offset:2px}@media(max-width:620px){.photo-editor{grid-template-columns:1fr}.photo-editor canvas{justify-self:center}.media-top{align-items:flex-start}.sku-media{padding:12px}}

.project-filter-reset{display:flex;align-items:end}.project-third-party[hidden]{display:none}

.access-options{display:flex;gap:24px;flex-wrap:wrap}.access-event-list{display:grid;gap:10px;max-height:210px;overflow:auto;padding:12px;background:#f5f7f6;border-radius:12px}.portal-grid:has(>.portal-tile:only-child){grid-template-columns:minmax(0,620px)}
