:root{--ink:#172839;--muted:#677787;--line:#e4e8ee;--bg:#f5f7fa;--white:#fff;--nav:#f3f5f8;--accent:#2f7bea;--brand:#2f7bea;--red:#a54246;--orange:#a66e29;--green:#2b745b;--blue:#315c83;--rad:12px}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif;background:var(--bg);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}h3{font-size:17px}h2{font-size:27px;letter-spacing:-1px;margin:5px 0 0}p{line-height:1.65;color:var(--muted)}#app{display:flex;min-height:100vh}#app[hidden],.modal[hidden],.alert[hidden],.locklayer[hidden]{display:none!important}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;width:252px;flex:none;background:#142535;color:#eef5f7;padding:25px 16px 21px}.sidebar-head{display:flex;gap:13px;align-items:center;padding:5px 12px 36px}.sidebar-head strong{font-size:17px;letter-spacing:2.2px}.sidebar-head small{display:block;color:#8ca6b5;letter-spacing:1.5px;font-size:10px;margin-top:4px}.sidebar-head em{font-style:normal;color:#72bdc0}.brandmark{background:#d2e5e6;color:#113e48;border-radius:12px;display:flex;justify-content:center;align-items:center;font-weight:800;font-size:25px;width:53px;height:53px;letter-spacing:-2px}.brandmark span{color:#3c969b}.brandmark.small{height:39px;width:39px;font-size:21px}nav{display:flex;flex-direction:column;gap:5px}nav button{border:0;text-align:left;background:transparent;color:#a9bdc8;padding:13px 13px;border-radius:9px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:12px}nav button:hover{background:#223b4a;color:white}nav button.selected{background:#28515b;color:#fff}.ni{font-size:20px;font-weight:400;line-height:1;width:20px;text-align:center}.sidebar-foot{margin-top:auto;padding:18px 9px 0;border-top:1px solid #34505f;display:flex;flex-direction:column;align-items:stretch;gap:7px}.sidebar-foot .subtle{background:transparent;color:#b3c7cf;text-align:left;border:0;padding:8px 5px;font-size:12px}.sidebar-foot .subtle:hover{color:#fff}.privacy-dot{color:#90c5c5;font-size:10px;letter-spacing:1.5px;margin-bottom:9px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#71c1a8;margin-right:7px}.main{display:flex;flex-direction:column;flex:1;min-width:0}.topbar{height:114px;background:white;border-bottom:1px solid var(--line);padding:29px 42px 20px;display:flex;align-items:center;justify-content:space-between}.eyebrow{text-transform:uppercase;color:#8293a1;font-size:10px;font-weight:800;letter-spacing:2px}.topright{display:flex;align-items:center;gap:16px}.statuschip{font-size:12px;color:#477b75;font-weight:600}.statuschip i{display:inline-block;height:7px;width:7px;background:#5ab08c;border-radius:50%;margin-right:5px}.mainbody{width:100%;max-width:1500px;margin:0 auto;padding:31px 42px 55px;flex:1}footer{display:flex;justify-content:space-between;padding:15px 42px;border-top:1px solid var(--line);font-size:10px;color:#9daab5;letter-spacing:.5px}.btn{background:#fff;border:1px solid #d5dde4;border-radius:8px;padding:10px 15px;font-weight:700;font-size:12px;color:var(--ink)}.btn:hover{border-color:#8ba5b0}.btn.primary{background:#1b5963;border-color:#1b5963;color:#fff}.btn.primary:hover{background:#10454e}.btn.danger{color:#a23d43;border-color:#ead1d4}.btn.small{padding:7px 10px;font-size:11px}.btn.wide{width:100%}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.card{border:1px solid var(--line);border-radius:var(--rad);background:white;padding:24px;box-shadow:0 4px 22px rgba(20,38,54,.025)}.card h3{margin-bottom:6px}.sectiontitle{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:25px 0 15px}.sectiontitle h3{margin:0;font-size:17px}.sectiontitle p{margin:4px 0 0;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:23px}.metric span{color:#718594;font-size:12px;font-weight:600}.metric strong{display:block;margin-top:13px;font-size:27px;letter-spacing:-1px}.metric small{display:block;color:#a2abb3;font-size:11px;margin-top:5px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:17px}.columns.ratio{grid-template-columns:1.4fr 1fr}.spaced{margin-top:18px}.stack>*+*{margin-top:15px}.muted{color:var(--muted)}.tiny{font-size:11px;color:#8a97a5}.empty{text-align:center;padding:55px 25px;border:1px dashed #ccd5de;border-radius:var(--rad);background:#fff}.empty .symbol{font-size:29px;color:#97abb2;margin-bottom:12px}.empty h3{margin-bottom:6px}.empty p{font-size:13px}.tablewrap{overflow:auto;width:100%;border-radius:9px;border:1px solid #e6eaf0}.table{border-collapse:collapse;min-width:760px;width:100%;font-size:12px}.table th{background:#f5f7f9;color:#607487;font-weight:750;white-space:nowrap;text-align:left}.table th,.table td{border-bottom:1px solid #edf0f3;padding:12px 13px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fafbfd}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .center{text-align:center}.table .bad{background:#fff4f4;color:#a3414e}.table .warn{color:#ad7324}.table .ok{color:#217b5d}.tag{display:inline-block;padding:5px 8px;background:#edf3f5;border-radius:5px;font-size:11px;font-weight:750;color:#3e6472}.tag.bad{color:#a3464f;background:#fbecee}.tag.warn{color:#987024;background:#fff6e4}.tag.ok{color:#2b785d;background:#e8f5ee}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:750;color:#556778}.field input,.field select,.field textarea,input[type=password]{border:1px solid #cfd8e1;border-radius:8px;padding:11px 12px;background:#fff;width:100%;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,input:focus{border-color:#26848d;box-shadow:0 0 0 3px #dcedef}.field textarea{resize:vertical;min-height:65px}.formfoot{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.hint{background:#eff5f5;border:1px solid #d8e7e6;color:#426b6d;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.7}.notice{background:#fff8e9;border:1px solid #f1e2c7;color:#876631;border-radius:8px;padding:11px 13px;font-size:12px;line-height:1.65}.alert{padding:12px 15px;border-radius:8px;background:#eaf7ef;color:#226c47;font-size:12px;margin-bottom:20px}.alert.error{background:#faebed;color:#a14247}.tabs{display:flex;gap:6px;border-bottom:1px solid #e2e8ed;padding:0 2px;margin-bottom:20px}.tabs button{padding:12px 17px;border:0;border-bottom:2px solid transparent;color:#728492;background:transparent;font-weight:700;font-size:12px}.tabs button.active{border-bottom-color:#1d6770;color:#174d55}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.row.wrap{flex-wrap:wrap}.listentry{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.listentry:last-child{border-bottom:0}.listentry strong{font-size:14px}.listentry p{margin:5px 0 0;font-size:12px}.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.panel-list{padding:12px}.panel-list button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:13px 12px;color:#667987}.panel-list button.active{background:#edf5f5;color:#195f68;font-weight:750}.panel-list button strong{display:block;margin-bottom:3px;color:inherit}.panel-list button small{font-size:11px}.line{border-top:1px solid var(--line);margin:19px 0}.stickybar{position:sticky;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 9px 35px #14253619;border:1px solid #dce4eb;padding:15px 20px;background:white;border-radius:12px;z-index:3}.dropzone{border:1.5px dashed #b7cbd0;border-radius:10px;padding:30px;text-align:center;background:#f9fbfc}.dropzone:hover{background:#f1f7f7}.dropzone p{font-size:12px;margin-bottom:0}.locklayer{min-height:100vh;background:#132536;display:flex;align-items:center;justify-content:center;padding:25px}.lockcard{max-width:438px;width:100%;padding:45px;background:#fff;border-radius:18px;box-shadow:0 30px 60px #07152266}.lockcard .brandmark{margin-bottom:29px}.lockcard h1{font-size:37px;letter-spacing:-1.8px;line-height:1.05;margin:14px 0}.lockcard p{font-size:12px}.lockcard label{display:block;font-weight:700;color:#526573;margin-top:24px;margin-bottom:10px;font-size:12px}.lockcard input{margin-bottom:11px}.lockcard .tiny{margin:15px 0 0}.error-text{color:#b23a46;font-size:12px;margin-top:12px}.modal{position:fixed;inset:0;background:#0a1e2dac;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:min(720px,100%);max-height:91vh;overflow:auto;background:#fff;border-radius:15px;padding:28px;box-shadow:0 26px 70px #0b192c66}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h3{margin:0;font-size:19px}.modal-head button{border:0;background:none;color:#789;font-size:30px}.inline-input{max-width:170px;padding:6px!important;font-size:12px}.monospace{font-family:ui-monospace,Consolas,monospace;font-size:11px}.filelist{display:flex;flex-direction:column;gap:8px}.filerow{padding:10px 12px;background:#f6f8fa;border-radius:8px;display:flex;justify-content:space-between;gap:9px;align-items:center}.filerow strong{font-size:12px}.footer-note{font-size:11px;color:#8999a8}.pillnav{display:flex;gap:6px;flex-wrap:wrap}.pillnav button{border-radius:6px;background:#f1f5f6;border:0;padding:9px 10px;color:#627984;font-size:11px}.pillnav button.active{background:#215b66;color:white}@media(max-width:1090px){.cards{grid-template-columns:repeat(2,1fr)}.topbar,.mainbody{padding-left:25px;padding-right:25px}.split{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:760px){#app{flex-direction:column}.sidebar{position:relative;width:100%;height:auto;padding:14px}.sidebar-head{padding:0 6px 12px}.sidebar nav{flex-direction:row;overflow:auto}.sidebar nav button{white-space:nowrap}.sidebar-foot{display:none}.topbar{height:auto;flex-wrap:wrap;gap:12px;padding:19px}.mainbody{padding:19px}.columns,.columns.ratio,.split{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}footer{padding:12px 20px;display:block}.topright .statuschip{display:none}.formgrid{grid-template-columns:1fr}}

/* V1.1: price list validation preview and composition count */
.modal.modal-wide .modal-card{width:min(1120px,calc(100vw - 36px));}
.import-preview-table{max-height:52vh;overflow:auto;}
.import-preview-table .table{min-width:960px;}
.import-preview-table td{vertical-align:top;}
.import-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;color:#42536a;font-size:12px;}
.import-summary strong{font-size:15px;color:#173347;}
.import-summary span{background:#f2f6f7;padding:6px 10px;border-radius:6px;word-break:break-word;}
.import-overwrite{display:flex;align-items:center;gap:8px;background:#f4f7f7;border-radius:7px;padding:12px;margin-top:12px;font-size:12px;font-weight:600;}
.import-overwrite input{width:16px;height:16px;}
.import-warnings{font-size:12px;color:#8a5b2b;margin-top:12px;}
.import-warnings li{padding:3px 0;}
.mini-count{display:inline-block;font-size:11px;font-weight:600;color:#66808b;margin-left:8px;vertical-align:middle;}

.policy-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.65;max-height:200px;overflow:auto;padding:12px;background:#f3f6f7;border:1px solid #dce5ea;border-radius:8px;}

.history-search{margin:4px 3px 13px}.history-search input{font-size:12px}.history-no-results{padding:24px 10px;font-size:12px;color:#738593;text-align:center}.history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.history-metrics .metric strong{font-size:20px}.history-file-list{max-height:350px;overflow:auto}.history-file{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.history-file strong{overflow-wrap:anywhere}.history-file span{flex:none;color:#788b99;font-size:11px}@media(max-width:1090px){.history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.history-metrics{grid-template-columns:1fr}.history-file{align-items:flex-start;flex-direction:column;gap:3px}}

/* V1.4: user-supplied CABINETTE logo, full graphic without cropping/distortion */
.brandmark.image{background:transparent;border-radius:0;width:70px;height:110px;overflow:hidden;flex:none;letter-spacing:normal}
.brandmark.image img{display:block;width:100%;height:100%;object-fit:contain}
.brandmark.image.small{width:42px;height:66px}
.lockcard .brandmark.image{margin-bottom:24px}

/* V1.4.2: complete order reconciliation with 100-row pagination and issue triage */
.recon-shared-issues{background:#fff8ea;border:1px solid #efd9ad;border-radius:10px;padding:18px 21px;margin-top:18px}
.recon-shared-issues .tiny{color:#8b6c35;margin:8px 0}
.recon-issue-list{margin:8px 0 0;padding-left:20px;list-style:disc}
.recon-issue-list li{margin:8px 0;display:flex;gap:13px;align-items:center;justify-content:space-between;color:#745325;font-size:12px}
.recon-issue-list .btn{flex:none}
.recon-tools{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:18px 0 12px}
.recon-filters{display:flex;gap:7px;flex-wrap:wrap}
.recon-filter.selected{background:#1b5963;color:#fff;border-color:#1b5963}
.recon-search{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.recon-search input{min-width:225px;max-width:340px;padding:8px 10px;border:1px solid #cfd8e1;border-radius:8px;font-size:12px}
.recon-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;flex-wrap:wrap}
.recon-page-current{font-size:12px;font-weight:700;color:#526978;min-width:75px;text-align:center}
.recon-flagged td{background:#fffbf5}
#reconOrders{scroll-margin-top:16px}
@media(max-width:760px){.recon-search{width:100%}.recon-search input{flex:1;min-width:0}.recon-issue-list li{flex-wrap:wrap}}

/* Archived settlement template download · V1.4.4 */
.archive-template-info{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid #dce5e9;border-radius:10px;background:#f7fafb;font-size:12px;}
.archive-template-info strong{font-size:12px;color:#223a4d;}
.archive-template-info span{font-weight:650;color:#1d6068;overflow-wrap:anywhere;}
.archive-template-info small{line-height:1.55;color:#6b7e8e;}
.archive-personal-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#607486;margin-top:8px;cursor:pointer;}
.archive-personal-toggle input{width:14px;height:14px;flex:none;}

/* V1.4.5: guarded deletion of test campaigns, archive and brands */
.danger-zone{border:1px solid #edd0d3;background:#fff6f6;border-radius:10px;padding:16px 17px;color:#8e363c;font-size:12px}
.danger-zone strong{font-size:14px;color:#95373d}
.danger-zone p{color:#93525b;line-height:1.7;margin:8px 0 0}
.delete-name{padding:9px 12px;border-radius:7px;background:#f1f4f7;color:#1c3648;font-weight:750;overflow-wrap:anywhere;font-size:13px;user-select:text}
.delete-ack{display:flex;gap:9px;align-items:flex-start;margin-top:15px;line-height:1.6;font-size:12px;color:#526778;cursor:pointer}
.delete-ack input{flex:none;width:16px;height:16px;margin-top:2px}
.delete-linked-list{border:1px solid #e2e8ed;border-radius:9px;max-height:180px;overflow:auto;margin-top:13px;font-size:12px}
.delete-linked-list>div{padding:11px 13px;border-bottom:1px solid #ebeff2;overflow-wrap:anywhere}
.delete-linked-list>div:last-child{border-bottom:0}

/* CABINETTE SETTLEMENT 2.0 / SocialNest-inspired analytics; retains legacy UI language */
.analysis-dashboard,.analytics-data-page{display:grid;gap:18px;max-width:1740px;margin:0 auto}
.analysis-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.analysis-toolbar h3{font-size:24px;margin:3px 0 4px;letter-spacing:-.7px;color:#172839}
.analysis-toolbar h3 small{font-size:13px;color:#8796a5;margin-left:12px;font-weight:500;letter-spacing:0}
.analysis-toolbar p{margin:0;font-size:12px}
.a-eyebrow{font-size:10px;letter-spacing:1.65px;color:#8da4ae;font-weight:800}
.analysis-filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.a-select-label{display:grid;gap:5px;font-size:11px;font-weight:650;color:#657989}
.a-select-label select,.a-form-item input,.a-form-item select,.a-cost-row input,.a-cost-row select,.analysis-panel-head input{background:#fff;border:1px solid #dfe7ec;border-radius:8px;color:#1a3140;height:36px;padding:0 10px;min-width:120px;max-width:100%}
.a-select-label select:focus,.a-form-item input:focus,.a-form-item select:focus,.a-cost-row input:focus,.a-cost-row select:focus{outline:2px solid #a6d7cf;outline-offset:1px}
.analysis-meta{font-size:12px;color:#788896;background:#fff;border:1px solid #e6eaee;padding:12px 15px;border-radius:10px}
.analysis-meta strong{color:#274b5b}
.analysis-section{background:transparent;display:grid;gap:12px}
.analysis-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:2px 3px}
.analysis-section-head h3{font-size:16px;letter-spacing:-.5px;margin:0 0 4px;color:#20394a}
.analysis-section-head p{font-size:12px;margin:0}
.analysis-section-content{display:grid;gap:13px}
.analysis-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.analysis-kpis article{display:flex;flex-direction:column;gap:10px;min-width:0;background:#fff;border:1px solid #e5eaef;border-radius:13px;padding:19px 18px}
.analysis-kpis small{font-size:11px;color:#778a97;font-weight:650}
.analysis-kpis strong{font-size:clamp(18px,1.8vw,27px);letter-spacing:-1px;color:#152b3c;overflow-wrap:anywhere}
.analysis-kpis span{font-size:10px;color:#8b9ca8}
.analysis-panel{background:#fff;border:1px solid #e5eaef;border-radius:13px;padding:19px 20px;min-width:0;overflow:hidden}
.analysis-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.analysis-panel-head strong{font-size:14px;color:#233d50}
.analysis-panel-head>span{font-size:10px;color:#8595a3}
.analysis-panel-head input{min-width:260px}
.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.analysis-empty{color:#9aa7b2;font-size:13px;padding:40px 10px;text-align:center;background:#fbfcfd;border:1px dashed #e2e8ef;border-radius:9px}
.a-trend{width:100%;height:auto;min-height:160px;max-height:260px;display:block}
.a-bars{display:grid;gap:13px;max-height:390px;overflow:auto;padding:2px}
.a-bar{display:grid;gap:6px}
.a-bar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.a-bar-head span{color:#405569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-bar-head strong{color:#243d4c;font-size:12px;flex-shrink:0}
.a-bar small{color:#94a2ac;font-size:10px}
.a-track{background:#eff3f6;height:8px;border-radius:10px;overflow:hidden}
.a-track>div{height:100%;border-radius:10px;min-width:2px}
.donut-layout{display:flex;align-items:center;gap:18px;justify-content:center;min-height:255px}
.analysis-donut{width:min(46%,220px);min-width:135px;height:auto;overflow:visible}
.donut-legend{display:grid;gap:11px;flex:1;max-width:280px}
.donut-legend>div{display:flex;align-items:center;gap:7px;font-size:11px}
.donut-legend strong{font-weight:600;color:#5d6f7d;flex:1;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.donut-legend span:last-child{font-weight:700;color:#3a5060}
.a-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.a-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.a-finance-grid>div{padding:12px 9px;background:#f7f9fa;border-radius:8px;min-width:0}
.a-finance-grid small{display:block;color:#8394a1;font-size:10px;margin-bottom:6px}
.a-finance-grid strong{font-size:13px;overflow-wrap:anywhere}
.a-muted{margin:11px 0 0;color:#8a98a3;font-size:11px}
.analysis-alert{background:#fff8ef;border:1px solid #ecdcc4;color:#816d45;border-radius:10px;padding:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.analysis-legacy{background:#fff;border:1px solid #e5eaef;border-radius:12px;padding:15px 17px}
.analysis-legacy>strong{font-size:12px;color:#607584}
.a-ops{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:10px}
.a-ops>span{border:1px solid #e9eff3;border-radius:7px;background:#f8fafb;padding:7px 11px;font-size:11px;color:#7b8b99}
.a-ops strong{color:#274252;margin-left:5px}
.a-option-table{min-width:440px}
.a-upload-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:21px}
.a-upload-card h3{font-size:16px;margin:0 0 7px}
.a-upload-card p{font-size:12px;margin:0}
.a-sub-note{font-size:10px;color:#95a3ad;margin-top:8px}
.a-upload-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.a-upload-form input{width:240px;max-width:100%;font-size:11px}
.a-info-strip{background:#ecf5f3;color:#416773;border:1px solid #d5e8e4;border-radius:9px;padding:13px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:12px}
.a-info-strip strong{color:#1c535c}
.analytics-record-table{min-width:780px}
.analytics-record-table td small{display:block;color:#8799a4;font-size:11px;margin-top:5px}
.a-actions{white-space:nowrap}
.a-actions .btn{margin:2px}
.a-flag{color:#a87935;font-weight:650;font-size:11px}
.analysis-info{padding:15px 18px;color:#637786;background:#fff;border:1px solid #e5eaef;border-radius:10px}
.analysis-info strong{font-size:12px}
.analysis-info p{font-size:11px;margin:5px 0 0}
.a-import-form{display:grid;gap:14px}
.a-form-intro{display:flex;gap:9px;flex-direction:column;padding:12px 14px;border-radius:8px;border:1px solid #d7e8e7;background:#f3faf9}
.a-form-intro strong{color:#214953;font-size:13px;overflow-wrap:anywhere}
.a-form-intro span{font-size:12px;color:#566f79}
.a-form-intro small{font-size:11px;color:#8798a3}
.a-import-form h4{font-size:14px;margin:10px 0 -3px;border-top:1px solid #e8edf1;padding-top:14px;color:#274455}
.a-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.a-form-item{display:grid;gap:6px;min-width:0;font-size:11px;color:#536877;font-weight:650}
.a-form-item>span{white-space:normal}
.a-form-item input,.a-form-item select{width:100%;min-width:0}
.a-form-item input[readonly]{background:#f6f8fa;color:#465b68}
.a-check{font-size:12px;color:#4b6472;display:flex;align-items:flex-start;gap:8px;line-height:1.7}
.a-check input{margin-top:5px;flex-shrink:0}
.a-cost-table{border:1px solid #e7ecef;border-radius:8px;overflow:hidden}
.a-cost-head,.a-cost-row{display:grid;grid-template-columns:1fr 145px 185px;align-items:center;gap:10px;padding:9px 12px}
.a-cost-head{background:#f6f8fa;font-size:11px;font-weight:650;color:#708694}
.a-cost-row{border-top:1px solid #eef1f4;color:#4e6473;font-size:12px}
.a-cost-row input,.a-cost-row select{width:100%;min-width:0}
.a-draft-hint{font-size:11px;background:#fff9ee;border:1px solid #f1e4c6;border-radius:8px;padding:12px;color:#866e43}
.a-error-list{color:#b34b48;border:1px solid #e9caca;background:#fff4f3;border-radius:8px;padding:12px}
.a-error-list strong{font-size:12px}
.a-error-list p{font-size:11px;margin:6px 0 0;color:#b34b48}
.a-warnings{font-size:11px;color:#8e753b;padding:9px 12px;background:#fffaf0;border-radius:8px}
.a-warnings p{font-size:11px;margin:5px 0}
@media(max-width:1370px){.analysis-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.a-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1020px){.analysis-grid{grid-template-columns:1fr}.analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.a-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.analysis-kpis{grid-template-columns:1fr}.a-form-grid{grid-template-columns:1fr}.analysis-toolbar h3{font-size:20px}.a-cost-head,.a-cost-row{grid-template-columns:minmax(70px,1fr) 100px 130px;gap:5px;padding:8px 5px}.a-cost-row input,.a-cost-row select{font-size:10px}.donut-layout{flex-direction:column}.analysis-donut{width:170px}.donut-legend{width:100%}}
.a-observed{display:grid;gap:8px;border:1px solid #d8e9e7;border-radius:9px;padding:12px 14px;background:#f2f9f7;font-size:12px;color:#366b70}
.a-observed>div{display:flex;flex-wrap:wrap;gap:7px}
.a-observed>div span{border:1px solid #cbdedc;background:#fff;padding:5px 9px;border-radius:7px}
.a-observed small{font-size:11px;color:#758d8d}


/* V2.0.1 — CABINETTE light navigation / blue action design system.
   Visual-only update: no changes to stored data, calculations or app logic. */
:root {
  --nav: #f4f6f9;
  --accent: #2f78e9;
  --brand: #2f78e9;
  --blue: #2f78e9;
  --bg: #f6f7fa;
  --line: #e5e9ef;
  --ink: #182735;
  --muted: #6c7c8d;
}
.sidebar {
  background: var(--nav);
  color: #26394b;
  border-right: 1px solid #e1e6ed;
  box-shadow: none;
}
.sidebar-head {padding-bottom: 28px;}
.sidebar-head strong {color:#152536;letter-spacing:1.7px;}
.sidebar-head small {color:#8494a4;}
.sidebar-head em {color:#3278df;font-weight:700;}
.sidebar nav {gap: 6px;}
.sidebar nav button {
  color:#5d6e7e;
  background:transparent;
  border:1px solid transparent;
  padding:12px 13px;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.sidebar nav button .ni {color:#7f93a6;}
.sidebar nav button:hover {
  color:#235baf;
  background:#eaf1fc;
  border-color:#e4eaf4;
}
.sidebar nav button:hover .ni {color:#347de9;}
.sidebar nav button.selected {
  background:#fff;
  color:#226bda;
  border-color:#d9e5f5;
  box-shadow:0 1px 4px rgba(40,80,140,.05);
  font-weight:750;
}
.sidebar nav button.selected .ni {color:#2877e8;}
.sidebar-foot {border-top:1px solid #dde4ec;}
.sidebar-foot .subtle {color:#657789;}
.sidebar-foot .subtle:hover {color:#226bda;background:#eaf1fc;border-radius:7px;}
.sidebar .privacy-dot {color:#758b9a;}
.sidebar .privacy-dot .dot {background:#54ae82;}
.btn.primary {background:#2f78e9;border-color:#2f78e9;color:#fff;box-shadow:none;}
.btn.primary:hover:not(:disabled) {background:#2166d2;border-color:#2166d2;}
.btn:not(.primary):not(.danger):hover:not(:disabled) {border-color:#8eb6f0;color:#2468c9;}
.btn:focus-visible, .sidebar nav button:focus-visible, .sidebar-foot button:focus-visible,
.tabs button:focus-visible, .pillnav button:focus-visible {
  outline:3px solid #9ec5ff;
  outline-offset:2px;
}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,
.a-select-label select:focus,.a-form-item input:focus,.a-form-item select:focus,
.a-cost-row input:focus,.a-cost-row select:focus {
  border-color:#478be9;
  box-shadow:0 0 0 3px #e1edff;
  outline:0;
}
.tabs button.active {border-bottom-color:#2f78e9;color:#216bd4;}
.panel-list button.active {background:#edf4ff;color:#236bce;}
.pillnav button.active {background:#2f78e9;color:white;}
.hint, .a-info-strip {background:#f1f6fd;border-color:#dbe7f8;color:#426384;}
.a-info-strip strong {color:#245faa;}
.a-form-intro {background:#f3f7ff;border-color:#dbe7f8;}
.a-form-intro strong {color:#2d5b9a;}
.analysis-legacy .btn.primary {background:#2f78e9;border-color:#2f78e9;}
@media (max-width: 760px) {
  .sidebar {border-right:0;border-bottom:1px solid #e1e6ed;}
  .sidebar-head {padding-bottom:12px;}
}

/* V2.1 · Entity-linked performance details · Light Gray / Blue */
.a-toolbar-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.a-bar-open{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 4px;margin:-5px -4px 0;background:transparent;border:0;border-radius:7px;color:inherit;text-align:left;width:calc(100% + 8px);font-weight:600;font-size:12px}
.a-bar-open>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2c577f}
.a-bar-open>strong{flex:none;color:#253d4f;font-size:12px;font-variant-numeric:tabular-nums}
.a-bar-open:hover,.a-bar-open:focus-visible{background:#edf4fd;outline:0}
.a-bar-open:focus-visible{box-shadow:0 0 0 2px #81b2f0}
.a-bar-open .a-detail-arrow{font-size:15px;color:#387bd7;flex:none}
.modal.analytics-detail-drawer{align-items:stretch;justify-content:flex-end;padding:0;background:rgba(18,31,47,.46)}
.modal.analytics-detail-drawer .modal-card{width:min(1010px,calc(100vw - 28px));max-height:100vh;height:100vh;border-radius:16px 0 0 16px;box-shadow:-8px 0 42px #0a20304d;overflow:auto;padding:26px 30px 30px}
.modal.analytics-detail-drawer .modal-head{position:sticky;top:-26px;background:#fff;padding:8px 0 16px;z-index:2;border-bottom:1px solid #e9edf1}
.a-detail-shell{display:grid;gap:17px;padding-top:12px}
.a-detail-hero{border-bottom:1px solid #e8edf3;padding:3px 0 18px}
.a-detail-hero h4{font-size:26px;letter-spacing:-.75px;margin:8px 0 7px;color:#172d3d}
.a-detail-hero p{font-size:12px;margin:0;color:#7b8f9e}
.a-detail-scope{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.a-detail-scope .btn{font-weight:650;color:#667e91}
.a-detail-scope .btn.a-scope-active{background:#eaf2ff;color:#2166c3;border-color:#bcd5fa}
.a-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.a-detail-kpis article{border-radius:11px;border:1px solid #e3e9f0;background:#fff;padding:14px 15px;display:flex;flex-direction:column;gap:8px;min-width:0}
.a-detail-kpis article>span{color:#728698;font-size:11px;font-weight:600}
.a-detail-kpis article strong{font-size:clamp(16px,1.3vw,21px);color:#18364c;letter-spacing:-.4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.a-detail-kpis article small{font-size:10px;color:#91a1af}
.a-detail-notice{background:#fff8ed;border:1px solid #f3dfb8;color:#8d6933;padding:12px 15px;border-radius:8px;font-size:12px}
.a-detail-section{background:white;border:1px solid #e5ebf0;border-radius:12px;padding:18px 19px;min-width:0}
.a-detail-section .analysis-panel-head{margin-bottom:12px}
.a-collabs{display:grid;gap:13px;max-height:400px;overflow-y:auto;padding:5px 2px}
.a-collab-row{display:grid;gap:7px}
.a-collab-main{display:flex;gap:10px;align-items:center;min-width:0;font-size:12px;color:#688096}
.a-collab-main>strong:not(.a-collab-value){color:#243e52}
.a-collab-link{color:#246dc7;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:0;border-radius:5px;background:transparent;padding:4px 5px;margin:-4px -5px;font-weight:750;font-size:12px}
.a-collab-link:hover,.a-collab-link:focus-visible{background:#e9f2ff;outline:2px solid #b8d3f4}
.a-collab-share{margin-left:auto;color:#788b99}
.a-collab-value{font-variant-numeric:tabular-nums;color:#203c52;white-space:nowrap}
.a-collab-row small{font-size:10px;color:#899eab}
.a-detail-table{min-width:820px}
.a-detail-table td small{display:block;color:#94a2ac;font-size:10px;margin-top:5px}
.a-detail-table td{overflow-wrap:anywhere}
.a-detail-footnote{font-size:11px;color:#8b9cac;line-height:1.65;margin:0}
.a-entities-manager>.tiny{font-size:12px;line-height:1.75}
.a-entities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:17px}
.a-entities-grid section{border:1px solid #e5eaf0;border-radius:10px;padding:15px;min-width:0;max-height:430px;overflow-y:auto}
.a-entities-grid h4{margin:0 0 12px;font-size:14px}
.a-entities-grid h4 small{font-size:11px;color:#80919f;font-weight:500}
.a-entity-entry{display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid #edf0f3;padding:10px 1px}
.a-entity-entry>div{min-width:0}
.a-entity-entry strong{display:block;font-size:12px;overflow-wrap:anywhere}
.a-entity-entry small{display:block;color:#90a0ab;font-size:10px;line-height:1.65;margin-top:4px}
.a-entity-entry .btn{flex:none}
@media(max-width:800px){.a-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.modal.analytics-detail-drawer .modal-card{padding:19px 17px;width:100vw;border-radius:0}.modal.analytics-detail-drawer .modal-head{top:-19px}.a-entities-grid{grid-template-columns:1fr}}
@media(max-width:480px){.a-detail-kpis{grid-template-columns:1fr 1fr}.a-detail-kpis article{padding:13px 10px}.a-detail-hero h4{font-size:22px}.a-detail-section{padding:12px 10px}}

/* V2.1.1 — Seller/brand rank: remove accidental horizontal scrollbar while keeping vertical list scrolling.
   Original button width:calc(100% + 8px) and negative margin overflowed .a-bars (overflow:auto). */
.a-bars.a-bars-interactive {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
.a-bars.a-bars-interactive .a-bar {
  min-width: 0;
  width: 100%;
}
.a-bars.a-bars-interactive .a-bar-open {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 5px 4px;
}


/* V2.1.2 — Rank cards: default TOP 5, expand for all, independent per card */
.a-ranked-sales{min-width:0;display:flex;flex-direction:column;gap:13px}
.a-ranked-sales-list{min-width:0}
.a-ranked-sales-list .a-bars{max-height:none;overflow:visible}
.a-ranked-sales-list.is-expanded .a-bars{max-height:560px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.a-rank-footer{border-top:1px solid #edf1f5;padding-top:11px;display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0}
.a-rank-footer>span{color:#8393a2;font-size:11px;min-width:0}
.a-rank-footer .a-rank-toggle{white-space:nowrap;flex:none;color:#2f78e9;border-color:#d9e5f5;background:#fff}
.a-rank-footer .a-rank-toggle:hover{background:#eff6ff;border-color:#b8d0f8}
.a-rank-footer .a-rank-toggle:focus-visible{outline:2px solid #2f78e9;outline-offset:2px}
@media(max-width:540px){.a-rank-footer{flex-wrap:wrap}.a-rank-footer .a-rank-toggle{margin-left:auto}}

/* V2.1.5 D1 공유 저장소와 저장 충돌 방지 상태 */
.storage-state{font-size:11px;color:#437c64;white-space:nowrap;font-weight:750}.storage-state[data-state="saving"]{color:#b07a34}.storage-state[data-state="error"]{color:#bd3f4c}.sync-failure[hidden]{display:none!important}.sync-failure{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(16,32,54,.70)}.sync-failure-card{width:min(100%,530px);background:#fff;border-radius:16px;padding:30px;box-shadow:0 20px 65px rgba(0,0,0,.2)}.sync-failure-card h3{font-size:18px;margin:0 0 15px;color:#b53d4c}.sync-failure-card p{color:#465569;font-size:13px;line-height:1.7}.sync-failure-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}@media(max-width:820px){.storage-state{display:none}.sync-failure-actions{flex-direction:column}}
