:root{--bg:#f3f4f6;--panel:#fff;--ink:#202124;--muted:#6b7280;--line:#d9dde3;--accent:#222;--danger:#b42318;--warn:#b54708;--ok:#067647;--sidebar:#1f2023}
*{box-sizing:border-box}body{margin:0;font-family:"Malgun Gothic","Noto Sans KR",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:white;padding:18px 12px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 18px;border-bottom:1px solid #3a3b3f}.brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:8px}.brand b{font-size:16px;letter-spacing:.5px}.nav{margin-top:16px;display:grid;gap:4px}.nav a{padding:10px 12px;border-radius:7px;color:#e7e7e8}.nav a:hover{background:#34363a}.nav .primary{background:#fff;color:#111;font-weight:700}.userbox{position:absolute;bottom:18px;left:12px;right:12px;color:#c6c8cc;font-size:12px}.logout{border:0;background:transparent;color:white;cursor:pointer;padding:6px 0}.main{min-width:0}.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.topbar h1{font-size:19px;margin:0}.content{padding:20px 24px 40px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:15px}.card .label{color:var(--muted);font-size:12px}.card .value{font-size:25px;font-weight:700;margin-top:6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-bottom:16px}.panel-head{padding:13px 15px;border-bottom:1px solid var(--line);font-weight:700;display:flex;align-items:center;justify-content:space-between}.panel-body{padding:15px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar input,.toolbar select,.field input,.field select,.field textarea{border:1px solid #cfd3d8;border-radius:6px;padding:8px 10px;background:#fff;font:inherit}.toolbar input{min-width:200px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfc4cb;background:#fff;border-radius:6px;padding:8px 12px;cursor:pointer;font:inherit}.btn.primary{background:#222;color:#fff;border-color:#222}.btn.danger{background:#fff;color:var(--danger);border-color:#efb5ae}.btn.small{padding:5px 8px;font-size:12px}.table-wrap{overflow:auto}.data{width:100%;border-collapse:collapse;white-space:nowrap}.data th,.data td{border-bottom:1px solid #e8eaed;padding:8px 9px;text-align:left}.data th{font-size:12px;color:#555;background:#f8f9fa;position:sticky;top:0}.data tr:hover td{background:#fafafa}.num{text-align:right!important;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.negative{color:var(--danger);font-weight:700}.positive{color:var(--ok)}.badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;background:#eef0f2}.badge.warning{background:#fff3e6;color:var(--warn)}.badge.critical{background:#feeceb;color:var(--danger)}.badge.info{background:#edf4ff;color:#175cd3}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field{display:grid;gap:5px}.field label{font-size:12px;color:#555}.field.span2{grid-column:span 2}.field.span4{grid-column:1/-1}.error{background:#feeceb;color:#8a1c13;padding:10px;border-radius:6px;margin-bottom:12px}.warning-box{background:#fff7ed;border:1px solid #fed7aa;padding:12px;border-radius:7px;margin:12px 0}.login-page{min-height:100vh;display:grid;place-items:center;background:#f0f1f3}.login-card{width:380px;background:white;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.login-logo{display:block;width:120px;height:120px;object-fit:contain;margin:0 auto 15px}.login-card h1{text-align:center;margin:0 0 22px;font-size:20px}.login-card .field{margin:10px 0}.login-card .btn{width:100%;margin-top:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.match-box{border:1px solid var(--line);border-radius:7px;margin-top:8px;max-height:230px;overflow:auto}.match-row{padding:8px 10px;border-bottom:1px solid #eee;cursor:pointer}.match-row:hover{background:#f6f7f8}.selected-item{padding:10px;background:#eef7f0;border:1px solid #b7dec2;border-radius:6px;margin-top:8px}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px}.kpi-line{display:flex;gap:22px;flex-wrap:wrap}.kpi-line b{font-size:18px}.quality-counts{display:flex;gap:8px;flex-wrap:wrap}.quality-counts a{padding:6px 9px;background:#f0f2f4;border-radius:6px}.live-dot{width:8px;height:8px;background:#16a34a;border-radius:50%;display:inline-block;margin-right:6px;box-shadow:0 0 0 3px #dcfce7}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.field.span4{grid-column:1/-1}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.userbox{position:static;margin-top:20px}.topbar{position:relative}.cards,.split,.form-grid{grid-template-columns:1fr}.field.span2,.field.span4{grid-column:auto}.content{padding:14px}.nav{grid-template-columns:repeat(2,1fr)}}
.partner-picker{position:relative;min-width:220px}.partner-picker input{width:100%;min-width:220px}.toolbar-picker{display:inline-block}.partner-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:50;background:#fff;border:1px solid #cfd3d8;border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:280px;overflow-y:auto;min-width:280px}.partner-results.open{display:block}.partner-option{padding:9px 10px;border-bottom:1px solid #eef0f2;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}.partner-option:hover,.partner-option.active{background:#f1f5f9}.partner-option small{color:var(--muted);white-space:nowrap}.partner-empty{padding:12px;color:var(--muted)}.doc-link{font-weight:700;text-decoration:underline;text-underline-offset:2px}.statement-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.statement-meta>div,.statement-summary>div{border:1px solid var(--line);border-radius:7px;padding:10px 12px;background:#fff;display:grid;gap:5px}.statement-meta span,.statement-summary span{font-size:12px;color:var(--muted)}.statement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:15px}.statement-summary .em{background:#f1f5f9;border-color:#bfc7d1}.statement-summary .em b{font-size:18px}.wrap-text{white-space:normal!important;min-width:260px;max-width:520px}@media(max-width:900px){.statement-meta,.statement-summary{grid-template-columns:repeat(2,1fr)}}@media print{.sidebar,.topbar,.btn,.muted{display:none!important}.shell{display:block}.content{padding:0}.panel{border:0}.statement{margin:0}.statement .panel-head{font-size:18px}.statement-table th{position:static}.statement-summary{break-inside:avoid}}

/* v1.3.2 MUSICVERSE transaction statement */
.statement-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.mv-statement-sheet{max-width:1180px;margin:0 auto;background:#fff;border:1px solid #b8bec6;box-shadow:0 2px 10px rgba(0,0,0,.04);padding:18px}.mv-statement-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border:2px solid #24262a;border-bottom:0;min-height:82px}.mv-statement-brand{display:flex;align-items:center;gap:10px;padding:10px 14px}.mv-statement-brand img{width:54px;height:54px;object-fit:contain}.mv-statement-brand div{display:grid;gap:2px}.mv-statement-brand strong{font-size:17px;letter-spacing:.6px}.mv-statement-brand span{font-size:10px;color:#667085;letter-spacing:.4px}.mv-statement-title{text-align:center;padding:8px 20px}.mv-statement-title h2{margin:0;font-size:25px;letter-spacing:4px}.mv-statement-title p{margin:4px 0 0;font-size:12px;color:#667085}.mv-statement-docno{justify-self:stretch;align-self:stretch;border-left:1px solid #24262a;display:flex;flex-direction:column;justify-content:center;padding:10px 14px;text-align:right}.mv-statement-docno span{font-size:11px;color:#667085}.mv-statement-docno strong{margin-top:3px;font-size:15px;word-break:break-all}.mv-meta-table,.mv-total-table{width:100%;border-collapse:collapse;table-layout:fixed}.mv-meta-table .label-col{width:145px}.mv-meta-table th,.mv-meta-table td,.mv-total-table th,.mv-total-table td{border:1px solid #24262a;padding:8px 10px}.mv-meta-table th,.mv-total-table th{background:#f3f4f6;text-align:center;font-size:12px}.mv-meta-table td,.mv-total-table td{font-variant-numeric:tabular-nums}.mv-meta-table .strong-cell{font-weight:700;font-size:14px}.mv-meta-table .total-row th{background:#e9edf2;font-weight:800}.mv-meta-table .total-row td{font-size:18px;font-weight:800;text-align:right;background:#f8fafc}.mv-statement-items-wrap{overflow:auto;margin-top:12px}.mv-statement-items{width:100%;border-collapse:collapse;white-space:nowrap}.mv-statement-items th,.mv-statement-items td{border:1px solid #24262a;padding:7px 8px}.mv-statement-items thead th{background:#26282c;color:#fff;font-size:11px;text-align:center;position:static}.mv-statement-items tbody td{font-size:12px}.mv-statement-items tbody tr:nth-child(even) td{background:#fafafa}.mv-statement-items tbody tr:hover td{background:#f2f4f7}.mv-statement-items .wrap-text{white-space:normal!important;min-width:250px;max-width:430px}.mv-statement-items tfoot th{background:#eef1f4;font-weight:800}.mv-statement-items tfoot .num{font-weight:800}.mv-total-table{margin-top:12px}.mv-total-table th{width:18%}.mv-total-table td{text-align:right;font-weight:700}.mv-total-table .grand-total-row th{background:#202226;color:#fff;font-size:14px}.mv-total-table .grand-total-row td{background:#202226;color:#fff;font-size:20px;font-weight:900}.mv-statement-footer{display:grid;gap:3px;margin-top:8px;color:#667085;font-size:10px;line-height:1.45}.mv-statement-sheet a{text-decoration:underline;text-underline-offset:2px}@media(max-width:900px){.mv-statement-sheet{padding:10px}.mv-statement-header{grid-template-columns:1fr}.mv-statement-title{border-top:1px solid #24262a;border-bottom:1px solid #24262a}.mv-statement-docno{border-left:0;text-align:left}.mv-meta-table .label-col{width:115px}.mv-meta-table th,.mv-meta-table td,.mv-total-table th,.mv-total-table td{padding:6px;font-size:11px}}
@media print{@page{size:A4 portrait;margin:8mm}.statement-actions,.sidebar,.topbar{display:none!important}.main,.content{padding:0!important;margin:0!important}.shell{display:block}.mv-statement-sheet{max-width:none;border:0;box-shadow:none;padding:0}.mv-statement-header{min-height:65px}.mv-statement-brand img{width:45px;height:45px}.mv-statement-title h2{font-size:22px}.mv-statement-items th,.mv-statement-items td{padding:5px 6px;font-size:9.5px}.mv-statement-items .wrap-text{min-width:210px;max-width:340px}.mv-meta-table th,.mv-meta-table td,.mv-total-table th,.mv-total-table td{padding:5px 7px;font-size:10px}.mv-statement-footer{font-size:8px}.mv-statement-items tbody tr:hover td{background:inherit}}

/* v1.4 navigation groups and automatic document number */
.nav .nav-section{margin:14px 10px 5px;padding-top:10px;border-top:1px solid #383a3d;color:#8f9398;font-size:11px;font-weight:700;letter-spacing:.08em}
.auto-doc-box{height:38px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid #d8dde5;border-radius:7px;background:#f6f8fa;color:#5b6470}
.auto-doc-box b{color:#20252b;font-size:13px}.auto-doc-box span{font-size:12px}

/* v1.5 warehouse inventory, document cart, bulk document management */
.document-head-grid{align-items:end}.document-builder{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(560px,1.7fr);gap:14px;margin-top:16px}.product-search-card,.cart-card{border:1px solid var(--line);border-radius:9px;background:#fafbfc;padding:14px}.lookup-row{display:flex;gap:7px}.lookup-row input{flex:1}.line-entry-grid{display:grid;grid-template-columns:120px 160px 1fr;gap:10px;align-items:end;margin-top:12px}.add-line-field{align-self:end}.cart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cart-head>div{display:flex;gap:10px;align-items:center}.cart-table input.cart-qty{width:72px;border:1px solid #cfd3d8;border-radius:5px;padding:5px;text-align:right}.document-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.document-confirm{min-width:120px}.return-note,.success-note{padding:9px 11px;border-radius:7px;margin-top:12px}.return-note{background:#fff5f3;border:1px solid #f3c0b9;color:#8a1c13}.success-note{background:#edf8f1;border:1px solid #b7dec2;color:#067647}.master-import{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:10px;border-top:1px solid #edf0f2}.bulk-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 15px;background:#fafafa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bulk-actions label{display:flex;gap:6px;align-items:center;font-weight:700}.check-col{width:58px;text-align:center!important}.inline-form{display:inline-flex}.location-stock{font-weight:700}.document-builder .match-box{background:#fff}.cart-card .table-wrap{max-height:520px}.cart-card .data th{top:0}.warehouse-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2f6;font-size:11px}.owner-raoni{background:#fff1f2;color:#9f1239}
@media(max-width:1100px){.document-builder{grid-template-columns:1fr}.line-entry-grid{grid-template-columns:1fr 1fr}.add-line-field{grid-column:1/-1}}
@media(max-width:760px){.line-entry-grid{grid-template-columns:1fr}.add-line-field{grid-column:auto}.document-submit{align-items:stretch;flex-direction:column}.document-confirm{width:100%}}


/* v1.5.3 input UI fix */
.product-search-card .line-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.product-search-card .add-line-field{grid-column:1/-1;width:100%;}
.product-search-card .add-line-field .btn{width:100%;white-space:nowrap;min-height:38px;}
@media(max-width:760px){.product-search-card .line-entry-grid{grid-template-columns:1fr 1fr}.product-search-card .add-line-field{grid-column:1/-1}}

/* v1.5.6 fixed search layout */
.product-search-card .match-box{
  display:block;
  height:230px;
  min-height:230px;
  max-height:230px;
  overflow-y:auto;
  overflow-x:hidden;
}
.product-search-card .match-placeholder{
  min-height:228px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  color:var(--muted);
  text-align:center;
}
.product-search-card .selected-item{
  display:block;
  min-height:82px;
  margin-top:14px;
}
.product-search-card .selected-item.selected-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  background:#f7f8f9;
  border-color:#e0e3e7;
  text-align:center;
}
.product-search-card .line-entry-grid{
  margin-top:22px;
  column-gap:18px;
  row-gap:14px;
}
.product-search-card .line-entry-grid .field{
  min-width:0;
  gap:8px;
}
.product-search-card .line-entry-grid .field input{
  width:100%;
  min-width:0;
  min-height:40px;
}
.product-search-card .add-line-field{
  margin-top:4px;
}

/* v1.6 JINNI horizontal client shell */
.client-shell{min-height:100vh;background:var(--bg)}
.client-titlebar{height:48px;background:#fff;border-bottom:1px solid #cfd3d8;display:flex;align-items:center;justify-content:space-between;padding:0 14px;position:sticky;top:0;z-index:130}
.client-brand{display:flex;align-items:center;gap:9px;min-width:0}
.client-brand img{width:32px;height:32px;object-fit:contain;border-radius:5px;background:#fff}
.client-brand div{display:flex;align-items:baseline;gap:8px;min-width:0}
.client-brand strong{font-size:14px;white-space:nowrap}
.client-brand span{font-size:10px;color:#7a8088;letter-spacing:.06em;white-space:nowrap}
.client-status{display:flex;align-items:center;gap:16px;font-size:12px;color:#555}
.client-user{color:#333;text-decoration:underline;text-underline-offset:2px}
.jinni-menubar{height:34px;background:#fff;border-bottom:1px solid #bfc4ca;display:flex;align-items:stretch;padding:0 6px;position:sticky;top:48px;z-index:125;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.jinni-menu{position:relative;display:flex;align-items:stretch}
.jinni-menu-button{appearance:none;border:0;background:transparent;color:#111;padding:0 12px;font:600 13px "Malgun Gothic","Noto Sans KR",Arial,sans-serif;cursor:pointer;white-space:nowrap;height:33px}
.jinni-menu:hover>.jinni-menu-button,.jinni-menu.open>.jinni-menu-button,.jinni-menu:focus-within>.jinni-menu-button{background:#eceff2}
.jinni-dropdown{display:none;position:absolute;left:0;top:33px;min-width:150px;background:#fff;border:1px solid #adb3ba;box-shadow:0 8px 22px rgba(0,0,0,.14);padding:3px 0;z-index:180}
.jinni-dropdown.wide{min-width:235px}
.jinni-menu.open>.jinni-dropdown{display:block}
.jinni-dropdown a{display:block;padding:7px 12px;white-space:nowrap;font-size:12.5px;color:#111}
.jinni-dropdown a:hover,.jinni-dropdown a:focus{background:#e7edf5;outline:none}
.menu-sep{height:1px;background:#d9dde3;margin:3px 0}
.jinni-exit-form{margin:0;display:flex;align-items:stretch}
.jinni-exit:hover{background:#f3e9e8;color:#8a1c13}
.main-full{width:100%;min-width:0}
.main-full .topbar{top:82px;height:56px;z-index:90}
.main-full .content{max-width:1600px;margin:0 auto;width:100%}
.topbar-tools{display:flex;align-items:center;gap:10px}
.home-link{padding:6px 9px;border:1px solid #d8dde3;border-radius:6px;background:#fff;font-size:12px}
.legacy-map-note{font-size:12px;color:var(--muted)}
.report-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.report-filter .field{min-width:150px}
.report-filter .field.grow{min-width:240px;flex:1}
.report-kpis{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.report-kpi{background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px 12px;min-width:150px}
.report-kpi span{display:block;font-size:11px;color:var(--muted)}
.report-kpi b{display:block;margin-top:4px;font-size:17px}
.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.code-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.code-list{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.code-list h3{margin:0;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;background:#f8f9fa}
.code-list ul{list-style:none;margin:0;padding:0;max-height:520px;overflow:auto}
.code-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;border-bottom:1px solid #eef0f2;font-size:12px}
.maintenance-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.maintenance-status .card{padding:12px}
.inline-warning{padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;color:#9a3412;font-size:12px}
@media(max-width:900px){
  .client-titlebar{position:relative;height:auto;min-height:48px;padding:8px 10px;gap:8px}.client-brand div{display:grid;gap:1px}.client-status{gap:8px}.jinni-menubar{position:relative;top:auto;height:auto;overflow-x:auto;padding:0}.jinni-menu-button{height:38px;padding:0 10px}.jinni-dropdown{position:fixed;top:auto;left:8px;right:8px;min-width:0!important;max-height:60vh;overflow:auto}.main-full .topbar{position:relative;top:auto}.code-columns,.master-grid,.maintenance-status{grid-template-columns:1fr}.main-full .content{padding:14px}
}
@media print{.client-titlebar,.jinni-menubar,.topbar{display:none!important}.main-full .content{max-width:none!important}}

.btn.disabled{opacity:.42;pointer-events:none;cursor:default;background:#f3f4f6;color:#7a7f87}


/* v1.8 mobile web + report export polish */
.client-title-actions{display:flex;align-items:center;gap:12px}
.owner-view-switch{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #cfd5dc;border-radius:8px;background:#f4f6f8;white-space:nowrap}
.owner-view-caption{padding:0 5px;color:#667085;font-size:11px;font-weight:700}
.owner-view-option{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border-radius:6px;color:#424850;font-size:11.5px;font-weight:700;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}
.owner-view-option input{position:absolute;opacity:0;pointer-events:none}
.owner-view-option:hover{background:#e7ebef}
.owner-view-option.is-active{background:#24272b;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16)}
.owner-view-option:focus-within{outline:2px solid #315b85;outline-offset:1px}
.owner-view-fixed{padding:0 8px;min-height:28px;display:inline-flex;align-items:center;color:#333;font-size:11.5px;font-weight:700}
.owner-label-short{display:none}
.mobile-menu-toggle{display:none;appearance:none;border:1px solid #cfd3d8;background:#fff;color:#111;border-radius:7px;min-height:38px;padding:0 12px;font:700 13px "Malgun Gothic","Noto Sans KR",Arial,sans-serif;cursor:pointer}
.report-filter>.btn{min-height:38px}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:13px}
  .client-titlebar{position:sticky;top:0;z-index:220;min-height:54px;padding:7px 10px;background:#fff}
  .client-brand{gap:7px;max-width:calc(100% - 178px)}
  .client-brand img{width:30px;height:30px;flex:0 0 auto}
  .client-brand div{min-width:0}
  .client-brand strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:58vw}
  .client-brand span{font-size:9px}
  .client-title-actions{gap:7px;flex:0 0 auto}
  .client-status{display:none}
  .owner-view-switch{gap:2px;padding:2px}
  .owner-view-caption{display:none}
  .owner-view-option{min-height:32px;padding:0 7px;font-size:11px}
  .owner-label-full{display:none}
  .owner-label-short{display:inline}
  .owner-view-fixed{min-height:32px;padding:0 6px}
  .client-user{display:none}
  .live-label{white-space:nowrap}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}

  .jinni-menubar{display:none;position:fixed;left:0;right:0;top:54px;bottom:0;z-index:210;height:auto;background:#fff;padding:8px 10px 24px;overflow-y:auto;overflow-x:hidden;border-bottom:0;box-shadow:0 14px 30px rgba(0,0,0,.16);align-items:stretch;flex-direction:column}
  .jinni-menubar.mobile-open{display:flex}
  .jinni-menu,.jinni-exit-form{display:block;width:100%;border-bottom:1px solid #e7e9ec}
  .jinni-menu-button{width:100%;height:44px;padding:0 8px;text-align:left;font-size:14px;display:flex;align-items:center;justify-content:space-between}
  .jinni-menu>.jinni-menu-button:after{content:"+";font-size:18px;font-weight:400;color:#747b84}
  .jinni-menu.open>.jinni-menu-button:after{content:"−"}
  .jinni-dropdown,.jinni-dropdown.wide{display:none;position:static!important;left:auto!important;right:auto!important;top:auto!important;min-width:0!important;width:100%;max-height:none!important;overflow:visible!important;border:0;box-shadow:none;padding:0 0 8px 10px;background:#f7f8fa}
  .jinni-menu.open>.jinni-dropdown{display:block}
  .jinni-menu:hover>.jinni-dropdown:not(.force-open){display:none}
  .jinni-menu.open:hover>.jinni-dropdown{display:block}
  .jinni-dropdown a{font-size:13px;padding:10px 12px;white-space:normal;border-bottom:1px solid #eceef1}
  .jinni-exit{height:44px}
  body.mobile-nav-open{overflow:hidden}

  .main-full .topbar{position:relative;top:auto;height:auto;min-height:48px;padding:10px 12px}
  .topbar h1{font-size:18px;line-height:1.25}
  .topbar-tools{gap:6px}
  .home-link{padding:6px 8px}
  .main-full .content,.content{padding:10px 10px 28px}
  .panel{border-radius:8px;margin-bottom:10px}
  .panel-head{padding:11px 12px;gap:8px;flex-wrap:wrap}
  .panel-body{padding:11px}

  .report-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;align-items:end}
  .report-filter .field,.report-filter .field.grow{min-width:0;width:100%;flex:none}
  .report-filter .field.grow{grid-column:span 2}
  .report-filter .field input,.report-filter .field select{width:100%;min-width:0;min-height:42px;font-size:16px}
  .report-filter>.btn{width:100%;min-height:42px}
  .partner-picker,.partner-picker input{width:100%;min-width:0}
  .partner-results{position:fixed;left:10px;right:10px;top:auto;min-width:0;max-height:42vh;z-index:260}
  .legacy-map-note{line-height:1.45;margin-top:8px}

  .toolbar{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .toolbar input,.toolbar select,.toolbar .btn,.toolbar .partner-picker{width:100%;min-width:0;min-height:42px}
  .toolbar input,.toolbar select{font-size:16px}
  .form-grid{grid-template-columns:1fr!important;gap:10px}
  .field.span2,.field.span4{grid-column:auto!important}
  .field input,.field select,.field textarea{width:100%;min-width:0;font-size:16px}
  .split,.master-grid,.code-columns,.maintenance-status{grid-template-columns:1fr!important}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .card{padding:12px}
  .card .value{font-size:21px}

  .table-wrap,.mv-statement-items-wrap{width:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  .data{min-width:820px;font-size:12px}
  .data th,.data td{padding:8px 7px}
  .data th{position:static}
  .wrap-text{min-width:220px;max-width:340px}
  .pager{justify-content:center;padding:10px 8px;flex-wrap:wrap}
  .pager .btn{min-height:38px}

  .document-builder{grid-template-columns:1fr;gap:10px;margin-top:10px}
  .product-search-card,.cart-card{padding:11px}
  .lookup-row{display:grid;grid-template-columns:1fr auto;gap:7px}
  .lookup-row input{min-width:0;font-size:16px}
  .product-search-card .match-box{height:190px;min-height:190px;max-height:190px}
  .product-search-card .match-placeholder{min-height:188px}
  .product-search-card .line-entry-grid{grid-template-columns:1fr 1fr;column-gap:12px;row-gap:10px;margin-top:16px}
  .product-search-card .line-entry-grid input{font-size:16px}
  .cart-card .table-wrap{max-height:430px}
  .cart-table{min-width:760px}
  .cart-head{align-items:flex-start;gap:8px}
  .cart-head>div{flex-wrap:wrap}
  .document-submit{flex-direction:column;align-items:stretch}
  .document-confirm{width:100%;min-height:44px}
  .bulk-actions{align-items:stretch;gap:8px;padding:10px}
  .bulk-actions .btn{min-height:40px}

  .statement-actions{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .statement-actions .btn{width:100%}
  .mv-statement-sheet{padding:8px;border-left:0;border-right:0;box-shadow:none}
  .mv-statement-header{grid-template-columns:1fr}
  .mv-statement-title{border-top:1px solid #24262a;border-bottom:1px solid #24262a}
  .mv-statement-title h2{font-size:20px;letter-spacing:2px}
  .mv-statement-docno{border-left:0;text-align:left}
  .statement-meta,.statement-summary{grid-template-columns:1fr 1fr}
  .mv-meta-table{min-width:620px}
  .mv-total-table{min-width:520px}
  .mv-statement-items{min-width:900px}

  .login-card{width:calc(100vw - 24px);max-width:380px;padding:22px 18px}
  .login-logo{width:96px;height:96px}
}

@media(max-width:560px){
  .client-brand strong{max-width:54vw}
  .live-label{font-size:0}
  .live-label .live-dot{margin-right:0}
  .report-filter{grid-template-columns:1fr}
  .report-filter .field.grow{grid-column:auto}
  .cards{grid-template-columns:1fr}
  .product-search-card .line-entry-grid{grid-template-columns:1fr 1fr}
  .statement-meta,.statement-summary{grid-template-columns:1fr}
  .statement-actions{grid-template-columns:1fr}
  .topbar h1{font-size:17px}
}

@media(max-width:390px){
  .client-brand div{display:none}
  .client-brand{max-width:36px}
  .owner-view-option{padding:0 6px}
}

/* v1.8.1: clarify field-scoped report filtering */
.report-filter-note{margin-top:8px;line-height:1.45}


/* v1.8.2: A4 portrait transaction statement print layout */
@media print{
  @page{size:A4 portrait;margin:8mm}
  html,body{width:100%;background:#fff!important}
  .mv-statement-sheet{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
  .mv-statement-header{grid-template-columns:1fr auto 1fr;min-height:56px!important}
  .mv-statement-brand{padding:6px 8px!important;gap:6px!important}
  .mv-statement-brand img{width:36px!important;height:36px!important}
  .mv-statement-brand strong{font-size:13px!important}
  .mv-statement-brand span{font-size:7px!important}
  .mv-statement-title{padding:5px 8px!important;border:0!important}
  .mv-statement-title h2{font-size:19px!important;letter-spacing:2px!important}
  .mv-statement-title p{font-size:8px!important;margin-top:2px!important}
  .mv-statement-docno{padding:6px 8px!important;text-align:right!important;border-left:1px solid #24262a!important}
  .mv-statement-docno span{font-size:8px!important}
  .mv-statement-docno strong{font-size:11px!important}
  .mv-meta-table{table-layout:fixed!important}
  .mv-meta-table .label-col{width:29mm!important}
  .mv-meta-table th,.mv-meta-table td,.mv-total-table th,.mv-total-table td{padding:3.2px 5px!important;font-size:8.5px!important;line-height:1.22!important}
  .mv-meta-table .strong-cell{font-size:9.5px!important}
  .mv-statement-items-wrap{overflow:visible!important;margin-top:6px!important}
  .mv-statement-items{width:100%!important;min-width:0!important;table-layout:fixed!important;white-space:normal!important}
  .mv-statement-items thead{display:table-header-group}
  .mv-statement-items tfoot{display:table-footer-group}
  .mv-statement-items th,.mv-statement-items td{padding:3px 3px!important;font-size:8px!important;line-height:1.18!important;vertical-align:top!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .mv-statement-items th:nth-child(1),.mv-statement-items td:nth-child(1){width:6mm!important}
  .mv-statement-items th:nth-child(2),.mv-statement-items td:nth-child(2){width:22mm!important}
  .mv-statement-items th:nth-child(3),.mv-statement-items td:nth-child(3){width:27mm!important}
  .mv-statement-items th:nth-child(4),.mv-statement-items td:nth-child(4){width:29mm!important}
  .mv-statement-items th:nth-child(5),.mv-statement-items td:nth-child(5){width:52mm!important}
  .mv-statement-items th:nth-child(6),.mv-statement-items td:nth-child(6){width:10mm!important}
  .mv-statement-items th:nth-child(7),.mv-statement-items td:nth-child(7){width:22mm!important}
  .mv-statement-items th:nth-child(8),.mv-statement-items td:nth-child(8){width:24mm!important}
  .mv-statement-items .wrap-text{min-width:0!important;max-width:none!important;white-space:normal!important}
  .mv-statement-items tbody tr{break-inside:avoid;page-break-inside:avoid}
  .mv-statement-items .num{white-space:nowrap!important}
  .mv-total-table{margin-top:6px!important;table-layout:fixed!important;break-inside:avoid;page-break-inside:avoid}
  .mv-total-table .grand-total-row th{font-size:9px!important}
  .mv-total-table .grand-total-row td{font-size:13px!important}
  .mv-statement-footer{margin-top:5px!important;font-size:6.8px!important;line-height:1.25!important;break-inside:avoid;page-break-inside:avoid}
}

/* v1.8.3: transaction statement - clean black/white document + compact portrait print */
.statement-actions{flex-wrap:wrap}
.mv-statement-sheet{
  color:#000!important;
  background:#fff!important;
  border-color:#000!important;
  font-family:Arial,"Malgun Gothic","맑은 고딕",sans-serif;
}
.mv-statement-header,
.mv-statement-title,
.mv-statement-docno,
.mv-meta-table th,.mv-meta-table td,
.mv-statement-items th,.mv-statement-items td,
.mv-total-table th,.mv-total-table td{
  border-color:#000!important;
  color:#000!important;
  background:#fff!important;
}
.mv-statement-brand span,.mv-statement-title p,.mv-statement-docno span,.mv-statement-footer{color:#000!important}
.mv-meta-table th,.mv-meta-table td,
.mv-statement-items th,.mv-statement-items td,
.mv-total-table th,.mv-total-table td{
  font-size:11px!important;
  line-height:1.3;
}
.mv-meta-table .strong-cell,
.mv-total-table .grand-total-row th,
.mv-total-table .grand-total-row td{font-size:11px!important;color:#000!important;background:#fff!important}
.mv-statement-items thead th,
.mv-statement-items tfoot th,
.mv-statement-items tbody tr:nth-child(even) td,
.mv-statement-items tbody tr:hover td{color:#000!important;background:#fff!important}
.mv-statement-sheet .negative{color:#000!important}
.mv-statement-sheet a{color:#000!important}
.mv-statement-footer{display:block!important;font-size:9px!important;line-height:1.3!important}

@media print{
  @page{size:A4 portrait;margin:5mm}
  html,body{width:100%;margin:0!important;padding:0!important;background:#fff!important;color:#000!important}
  body{-webkit-print-color-adjust:economy!important;print-color-adjust:economy!important}
  .statement-actions,.client-titlebar,.jinni-menubar,.topbar,.sidebar{display:none!important}
  .main,.main-full,.content,.shell{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
  .mv-statement-sheet{
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
    border:0!important;box-shadow:none!important;background:#fff!important;color:#000!important;
    zoom:.93;
  }
  .mv-statement-header{grid-template-columns:1fr auto 1fr!important;min-height:48px!important;border:1px solid #000!important}
  .mv-statement-brand{padding:4px 6px!important;gap:5px!important}
  .mv-statement-brand img{width:28px!important;height:28px!important;filter:grayscale(1)!important}
  .mv-statement-brand strong{font-size:9pt!important;color:#000!important}
  .mv-statement-brand span{font-size:6.8pt!important;color:#000!important}
  .mv-statement-title{padding:3px 6px!important;border:0!important}
  .mv-statement-title h2{font-size:14pt!important;line-height:1.1!important;letter-spacing:1.5px!important;color:#000!important}
  .mv-statement-title p{font-size:7.5pt!important;margin:1px 0 0!important;color:#000!important}
  .mv-statement-docno{padding:4px 6px!important;text-align:right!important;border-left:1px solid #000!important}
  .mv-statement-docno span,.mv-statement-docno strong{font-size:8pt!important;color:#000!important}

  .mv-meta-table{table-layout:fixed!important}
  .mv-meta-table .label-col{width:27mm!important}
  .mv-meta-table th,.mv-meta-table td,
  .mv-total-table th,.mv-total-table td,
  .mv-statement-items th,.mv-statement-items td{
    font-family:Arial,"Malgun Gothic","맑은 고딕",sans-serif!important;
    font-size:8pt!important;line-height:1.12!important;color:#000!important;background:#fff!important;
    border:0.75px solid #000!important;
  }
  .mv-meta-table th,.mv-meta-table td,.mv-total-table th,.mv-total-table td{padding:2px 4px!important}
  .mv-meta-table .strong-cell,.mv-total-table .grand-total-row th,.mv-total-table .grand-total-row td{font-size:8pt!important;color:#000!important;background:#fff!important}

  .mv-statement-items-wrap{overflow:visible!important;margin-top:4px!important}
  .mv-statement-items{width:100%!important;min-width:0!important;table-layout:fixed!important;white-space:normal!important}
  .mv-statement-items thead{display:table-header-group!important}
  .mv-statement-items tfoot{display:table-footer-group!important}
  .mv-statement-items th,.mv-statement-items td{
    padding:2px 2px!important;vertical-align:top!important;overflow-wrap:anywhere!important;word-break:break-word!important;
  }
  .mv-statement-items th:nth-child(1),.mv-statement-items td:nth-child(1){width:5mm!important}
  .mv-statement-items th:nth-child(2),.mv-statement-items td:nth-child(2){width:20mm!important}
  .mv-statement-items th:nth-child(3),.mv-statement-items td:nth-child(3){width:25mm!important}
  .mv-statement-items th:nth-child(4),.mv-statement-items td:nth-child(4){width:27mm!important}
  .mv-statement-items th:nth-child(5),.mv-statement-items td:nth-child(5){width:49mm!important}
  .mv-statement-items th:nth-child(6),.mv-statement-items td:nth-child(6){width:9mm!important}
  .mv-statement-items th:nth-child(7),.mv-statement-items td:nth-child(7){width:19mm!important}
  .mv-statement-items th:nth-child(8),.mv-statement-items td:nth-child(8){width:21mm!important}
  .mv-statement-items .wrap-text{min-width:0!important;max-width:none!important;white-space:normal!important}
  .mv-statement-items tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .mv-statement-items .num{white-space:nowrap!important}
  .mv-statement-items thead th,.mv-statement-items tfoot th,
  .mv-statement-items tbody tr:nth-child(even) td,.mv-statement-items tbody tr:hover td{background:#fff!important;color:#000!important}

  .mv-total-table{margin-top:4px!important;table-layout:fixed!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .mv-statement-footer{display:block!important;margin-top:3px!important;font-size:6.3pt!important;line-height:1.1!important;color:#000!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .mv-statement-sheet .negative,.mv-statement-sheet a{color:#000!important}
}

/* v1.9.1: navigable DB values + report totals */
.db-link{color:#111;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}
/* 링크 hover 시 글자 굵기가 바뀌면 auto-layout 테이블의 열 너비가 재계산되어 화면이 꿈틀거릴 수 있다. 크기에 영향을 주는 속성은 hover에서 변경하지 않는다. */
.data .db-link,.mv-statement-items .db-link{font-weight:inherit;letter-spacing:inherit}
.db-link:hover{font-weight:inherit;text-decoration-thickness:2px;color:#000}
.report-summary-line{display:flex;gap:24px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.report-summary-line b{font-size:15px}
.data tfoot .report-total-row th{position:static;background:#fff;color:#111;border-top:2px solid #333;font-weight:700}
.data tfoot .report-total-row .num{text-align:right!important}
@media(max-width:760px){.report-summary-line{gap:10px;display:grid;grid-template-columns:1fr}.db-link{display:inline-block;max-width:100%}}
@media print{.db-link{text-decoration:none!important;color:#000!important}}

/* v1.9.4: clean clickable values + fit 입출고상품조회 to desktop viewport without shrinking text */
.db-link,
.db-link:visited,
.db-link:hover,
.db-link:active{
  color:inherit!important;
  text-decoration:none!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
}
.db-link{cursor:pointer}
.db-link:focus-visible{outline:2px solid #222;outline-offset:2px;border-radius:2px}

/* Desktop: keep the 12-column transaction report inside the panel.
   We gain space by wrapping long text and tightening cell padding, not by reducing font size. */
@media(min-width:1000px){
  .transaction-items-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:visible;
  }
  .transaction-items-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    white-space:normal!important;
  }
  .transaction-items-table th,
  .transaction-items-table td{
    padding:7px 5px!important;
    vertical-align:middle;
    line-height:1.35;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .transaction-items-table td{
    font-size:14px!important;
  }
  .transaction-items-table th{
    font-size:12px!important;
  }
  .transaction-items-table .db-link{
    white-space:inherit;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  /* Width budget: 100%. Long artist/title/partner names wrap inside their cells. */
  .transaction-items-table th:nth-child(1), .transaction-items-table td:nth-child(1){width:6.5%;white-space:nowrap}
  .transaction-items-table th:nth-child(2), .transaction-items-table td:nth-child(2){width:5%;white-space:nowrap}
  .transaction-items-table th:nth-child(3), .transaction-items-table td:nth-child(3){width:7%;white-space:nowrap}
  .transaction-items-table th:nth-child(4), .transaction-items-table td:nth-child(4){width:10%}
  .transaction-items-table th:nth-child(5), .transaction-items-table td:nth-child(5){width:8%}
  .transaction-items-table th:nth-child(6), .transaction-items-table td:nth-child(6){width:7%;word-break:break-all}
  .transaction-items-table th:nth-child(7), .transaction-items-table td:nth-child(7){width:9%;word-break:break-all}
  .transaction-items-table th:nth-child(8), .transaction-items-table td:nth-child(8){width:13%}
  .transaction-items-table th:nth-child(9), .transaction-items-table td:nth-child(9){width:18%}
  .transaction-items-table th:nth-child(10),.transaction-items-table td:nth-child(10){width:4%;white-space:nowrap}
  .transaction-items-table th:nth-child(11),.transaction-items-table td:nth-child(11){width:6%;white-space:nowrap}
  .transaction-items-table th:nth-child(12),.transaction-items-table td:nth-child(12){width:6.5%;white-space:nowrap}

  .transaction-items-table tfoot th,
  .transaction-items-table tfoot td{
    white-space:nowrap;
  }
}

/* Tablet/mobile keep horizontal pan instead of crushing 12 columns. */
@media(max-width:999px){
  .transaction-items-table{min-width:1180px}
}


/* v1.11 role management, audit and single-open JINNI menus */
.password-generate-row{display:flex;gap:8px;align-items:center}.password-generate-row input{flex:1}.permission-note{padding:10px 12px;border:1px solid #d8dde3;background:#fff;color:#222;line-height:1.55}.inline-account-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-account-form select{min-width:90px}.inline-account-form input[type=text]{min-width:230px;flex:1}.admin-users-table td:last-child{min-width:520px}.audit-detail{white-space:pre-wrap;max-width:520px;word-break:break-word;font-size:11px;line-height:1.4;margin:6px 0 0}.report-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.summary-strong{font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:900px){.admin-users-table td:last-child{min-width:420px}.inline-account-form{align-items:stretch}.inline-account-form input[type=text]{min-width:220px}.password-generate-row{align-items:stretch}}

/* v1.12 menu exclusivity: dropdown visibility is controlled only by .open. */
@media (min-width:901px){
  .jinni-menu:not(.open) > .jinni-dropdown{display:none!important}
  .jinni-menu.open > .jinni-dropdown{display:block!important}
}

/* v1.12.1 admin audit autocomplete */
.audit-picker{position:relative;min-width:180px}
.audit-picker.grow{min-width:360px}
.audit-picker input{width:100%}
.audit-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:180;background:#fff;border:1px solid #cfd3d8;border-radius:7px;box-shadow:0 10px 26px rgba(0,0,0,.13);max-height:340px;overflow:auto;min-width:360px}
.audit-results.open{display:block}
.audit-option{padding:9px 10px;border-bottom:1px solid #eceff2;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:#fff}
.audit-option:last-child{border-bottom:0}
.audit-option:hover,.audit-option.active{background:#f5f7f9}
.audit-option span{min-width:0;white-space:normal;word-break:break-word;line-height:1.35}
.audit-option small{white-space:nowrap;color:var(--muted);font-size:11px;padding-top:1px}
.audit-empty{padding:12px;color:var(--muted);background:#fff}
.search-help{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:900px){.audit-picker,.audit-picker.grow{width:100%;min-width:0}.audit-results{position:fixed;left:10px;right:10px;top:auto;min-width:0;max-height:44vh;z-index:300}}

/* v1.12.5 product/report search suggestions */
.search-picker{position:relative;min-width:220px;width:100%}
.search-picker input{width:100%;min-width:0}
.toolbar-search-picker{display:inline-block;width:auto;min-width:280px;vertical-align:middle}
.search-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:190;background:#fff;border:1px solid #cfd3d8;border-radius:7px;box-shadow:0 9px 26px rgba(0,0,0,.13);max-height:360px;overflow-y:auto;min-width:390px}
.search-results.open{display:block}
.search-option{padding:9px 10px;border-bottom:1px solid #edf0f2;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:#fff}
.search-option:last-child{border-bottom:0}
.search-option:hover,.search-option.active{background:#f5f7f9}
.search-option>span{min-width:0;display:grid;gap:2px;line-height:1.3}
.search-option b{font-weight:600;white-space:normal;word-break:break-word}
.search-option em{font-style:normal;color:var(--muted);font-size:12px;white-space:normal;word-break:break-word}
.search-option small{color:var(--muted);font-size:11px;white-space:nowrap;padding-top:2px}
.search-empty{padding:12px;color:var(--muted);background:#fff}
.item-io-summary-table .drill-link{display:block;width:100%;text-align:right}
.item-io-summary-table td:first-child .db-link,.item-io-summary-table td:nth-child(2) .db-link{display:block;width:100%}
@media(max-width:900px){
  .search-picker,.toolbar-search-picker{width:100%;min-width:0}
  .search-results{position:fixed;left:10px;right:10px;top:auto;min-width:0;max-height:44vh;z-index:310}
  .toolbar .search-picker{width:100%;min-width:0}
}


/* v1.13 statistics */
.stats-filter{align-items:end}
.stats-filter .field{min-width:150px}
.stats-kpi{margin-top:12px}
.stats-note{margin-top:9px;color:var(--muted);font-size:12px;line-height:1.45}
.stats-table th.num,.stats-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.stats-table .rank-cell{font-weight:700}
.stats-table tfoot th,.stats-table tfoot td{border-top:2px solid #222;background:#fff;color:#111}
.stats-item-table td:nth-child(5),.stats-item-table td:nth-child(6){max-width:320px}
@media(max-width:900px){
  .stats-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .stats-filter .field{min-width:0}
  .stats-filter .btn{width:100%}
  .stats-table{min-width:920px}
  .stats-item-table{min-width:1240px}
}

/* v1.13.3 statistics visual dashboard */
.stats-visual-panel{background:#fff;border:1px solid #d9dde4;border-radius:10px;padding:14px 14px 16px;margin-bottom:14px}
.stats-visual-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}
.stats-visual-head strong{display:block;font-size:16px;color:#111}
.stats-visual-head span{display:block;margin-top:2px;color:#68717d;font-size:12px}
.stats-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;min-width:0}
.stats-chart-card{border:1px solid #e0e3e8;background:#fff;border-radius:8px;padding:12px;min-width:0;overflow:visible}
.stats-chart-title{font-size:13px;font-weight:700;color:#111;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stats-chart-subtitle{font-size:11px;color:#7a828d;margin-top:2px;margin-bottom:7px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stats-chart{display:block;width:100%;height:245px;min-height:245px}
.stats-chart[data-chart="bar"]{height:265px;min-height:265px}
.stats-bar-legend{display:grid;grid-template-columns:1fr;gap:6px;margin-top:10px;font-size:11px;color:#334155}
.stats-bar-legend .stats-legend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:5px 0;border-top:1px dashed #e6e9ee}
.stats-bar-legend .stats-legend-row:first-child{border-top:0;padding-top:0}
.stats-bar-legend .stats-legend-label{display:flex;align-items:flex-start;gap:6px;min-width:0}.stats-bar-legend .stats-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 8px;margin-top:4px}.stats-bar-legend .stats-legend-name{min-width:0;line-height:1.4;word-break:break-word;white-space:normal}
.stats-bar-legend .stats-legend-val{font-variant-numeric:tabular-nums;font-weight:700;color:#111;white-space:nowrap}
.stats-pie-legend{display:grid;grid-template-columns:1fr;gap:6px;margin-top:10px;font-size:11px;color:#334155}
.stats-pie-legend span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:10px;row-gap:3px;min-width:0;padding:6px 0;border-top:1px dashed #e6e9ee}
.stats-pie-legend span:first-child{border-top:0;padding-top:0}
.stats-pie-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 8px;margin-top:4px}
.stats-pie-legend b{display:flex;grid-column:1/-1;align-items:flex-start;gap:6px;min-width:0;font-weight:500;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.stats-pie-legend .stats-legend-name{display:inline;min-width:0;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stats-pie-legend .stats-legend-amount,.stats-pie-legend .stats-legend-pct{font-variant-numeric:tabular-nums;font-weight:700;color:#111;white-space:nowrap}.stats-pie-legend .stats-legend-amount{grid-column:1/2;min-width:0;padding-left:14px;text-align:left}.stats-pie-legend .stats-legend-pct{grid-column:2/3;text-align:right}
@media(max-width:900px){.stats-chart-grid{grid-template-columns:1fr 1fr}.stats-chart-card:last-child{grid-column:1/-1}.stats-chart-card:last-child .stats-chart{height:220px;min-height:220px}}
@media(max-width:620px){.stats-chart-grid{grid-template-columns:1fr}.stats-chart-card:last-child{grid-column:auto}.stats-chart{height:220px;min-height:220px}.stats-chart[data-chart="bar"]{height:250px;min-height:250px}.stats-pie-legend,.stats-bar-legend{grid-template-columns:1fr}.stats-visual-panel{padding:10px}}

.stats-chart-card:last-child .stats-pie-legend,.stats-chart-card:nth-child(2) .stats-bar-legend{max-width:100%;overflow:visible}
.stats-chart-card:last-child .stats-pie-legend .stats-legend-name{display:inline;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stats-bar-legend .stats-legend-name{overflow-wrap:anywhere;word-break:keep-all}
@media(max-width:620px) and (prefers-color-scheme:dark){
  .stats-visual-panel{background:#111827;border-color:#374151;color:#f8fafc}
  .stats-chart-card{background:#18212f;border-color:#3b4758;color:#f8fafc}
  .stats-visual-head strong,.stats-chart-title{color:#f8fafc}
  .stats-visual-head span,.stats-chart-subtitle{color:#cbd5e1}
  .stats-bar-legend,.stats-pie-legend{color:#e5e7eb}
  .stats-bar-legend .stats-legend-row,.stats-pie-legend span{border-color:#465266}
  .stats-bar-legend .stats-legend-val,.stats-pie-legend .stats-legend-amount,.stats-pie-legend .stats-legend-pct{color:#fff}
}

/* v1.13.11.4 cart duplicate aggregation notice + RAONI fulfillment marker */
.cart-notice{display:none;margin:8px 0 2px;padding:8px 10px;border:1px solid #111;background:#fff;color:#111;border-radius:6px;font-size:12px;line-height:1.35}
.cart-notice.show{display:block}
.fulfillment-badge{display:inline-block;margin-top:5px;padding:3px 8px;border:1.5px solid #111;background:#fff;color:#111;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.02em}
.fulfillment-meta-row th,.fulfillment-meta-row td{background:#fff!important;color:#111!important;border-color:#111!important}
@media print{.cart-notice{display:none!important}.fulfillment-badge{border-color:#000!important;color:#000!important;background:#fff!important}.fulfillment-meta-row th,.fulfillment-meta-row td{background:#fff!important;color:#000!important;border-color:#000!important}}

/* v1.13.11.6: 15-page numbered pagination */
.pager-pages{gap:10px;justify-content:flex-end}
.pager-number-list{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.pager-page{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border-radius:5px;color:#222;text-decoration:none;font-variant-numeric:tabular-nums}
.pager-page:hover{background:#f0f2f4}
.pager-page.current{background:#222;color:#fff;font-weight:700;cursor:default}
.pager-nav{white-space:nowrap}
@media(max-width:760px){.pager-pages{justify-content:center}.pager-number-list{justify-content:center}.pager-page{min-width:32px;height:34px}}

/* v1.13.16 mobile overflow containment and readable horizontal scrolling */
.mv-statement-table-wrap{width:100%;max-width:100%;min-width:0;overflow:visible}
@media(max-width:900px){
  .client-shell,.main,.main-full,.main-full .content,.content,.split,.cards,.form-grid,.report-filter{width:100%;max-width:100%;min-width:0}
  .split>*,.cards>*,.form-grid>*,.report-filter>*,.panel,.panel-body,.stats-visual-panel,.stats-chart-grid,.stats-chart-card{min-width:0;max-width:100%}
  .panel{width:100%}
  .table-wrap,.mv-statement-items-wrap,.mv-statement-table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scrollbar-width:thin}
  .table-wrap>.data{max-width:none}
  .dashboard-table{min-width:680px}
  .mv-statement-table-wrap>.mv-meta-table{min-width:620px}
  .mv-statement-table-wrap>.mv-total-table{min-width:520px}
  .panel-head>*,.card>*,.kpi-line>*,.report-kpi>*,.code-list li>*,.match-row>*,.selected-item>*,.error,.warning-box,.inline-warning,.permission-note,.stats-note{min-width:0;overflow-wrap:anywhere;word-break:normal}
}
@media print{
  .mv-statement-table-wrap{overflow:visible!important;max-width:none!important}
}

/* v1.13.17 durable outbound picking notifications */
.outbound-alert{position:fixed;right:20px;bottom:18px;z-index:450;width:min(390px,calc(100vw - 28px));display:flex;flex-direction:column-reverse;align-items:stretch;color:#172033;font-size:13px;filter:drop-shadow(0 14px 28px rgba(15,23,42,.22))}
.outbound-alert-toggle{align-self:flex-end;min-width:166px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #1e3a5f;border-radius:15px;background:#163a63;color:#fff;padding:9px 12px;cursor:pointer;font:inherit;font-weight:700;box-shadow:0 4px 12px rgba(15,23,42,.22)}
.outbound-alert-toggle:hover{background:#102f52}.outbound-alert-toggle:focus-visible,.outbound-alert a:focus-visible,.outbound-alert button:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
.outbound-alert-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#fff;color:#163a63;font-size:16px;font-weight:900}
.outbound-alert-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums;border:2px solid #fff}
.outbound-alert-count[hidden]{display:none}.outbound-alert-toggle-state{font-size:11px;font-weight:500;color:#dbeafe}
.outbound-alert-panel{max-height:min(620px,72vh);margin-bottom:8px;overflow:hidden;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.26);transition:max-height .2s ease,opacity .16s ease,transform .2s ease;opacity:1;transform:translateY(0)}
.outbound-alert.is-collapsed .outbound-alert-panel{max-height:0;margin-bottom:0;border-width:0;opacity:0;transform:translateY(8px);pointer-events:none}
.outbound-alert-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.outbound-alert-head>div{display:grid;gap:3px;min-width:0}.outbound-alert-head strong{font-size:14px;color:#0f172a}.outbound-alert-head span{font-size:11px;color:#64748b;line-height:1.35}
.outbound-alert-read-all{flex:0 0 auto;border:1px solid #94a3b8;border-radius:7px;background:#fff;color:#334155;padding:5px 8px;cursor:pointer;font:inherit;font-size:11px}.outbound-alert-read-all:disabled{opacity:.45;cursor:default}
.outbound-alert-list{max-height:min(500px,60vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#f1f5f9}
.outbound-alert-item{margin:9px;border:1px solid #d7dee8;border-left:4px solid #2563eb;border-radius:10px;background:#fff;overflow:hidden}
.outbound-alert-open{display:grid;gap:5px;padding:11px 12px;color:#172033}.outbound-alert-open:hover{background:#f8fbff}
.outbound-alert-item-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.outbound-alert-item-top b{color:#1d4ed8;font-size:12px}.outbound-alert-item-top em{font-style:normal;color:#64748b;font-size:11px;white-space:nowrap}
.outbound-alert-open>strong{font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.outbound-alert-meta{font-size:11px;color:#5c6879;line-height:1.4;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.outbound-alert-actions{display:flex;justify-content:flex-end;gap:7px;padding:8px 10px;border-top:1px solid #edf0f4;background:#fafcff}.outbound-alert-actions a,.outbound-alert-actions button{border:1px solid #c3ccd8;border-radius:6px;background:#fff;color:#26364b;padding:5px 8px;cursor:pointer;font:inherit;font-size:11px}.outbound-alert-actions a{color:#174ea6;border-color:#a9c4ec}.outbound-alert-actions a:hover,.outbound-alert-actions button:hover{background:#eef5ff}
.outbound-alert-actions [data-outbound-alert-print]{background:#163a63;border-color:#163a63;color:#fff;font-weight:700}.outbound-alert-actions [data-outbound-alert-print]:hover{background:#102f52}
.outbound-alert-empty{display:grid;gap:4px;padding:26px 18px;text-align:center;color:#64748b;background:#fff}.outbound-alert-empty strong{color:#334155}.outbound-alert-empty.error-state{color:#b42318}
.outbound-alert.new-unread .outbound-alert-toggle{animation:outbound-alert-pulse .55s ease-in-out 3}
@keyframes outbound-alert-pulse{50%{transform:translateY(-3px) scale(1.025);box-shadow:0 0 0 7px rgba(239,68,68,.2),0 7px 18px rgba(15,23,42,.28)}}
@media(max-width:620px){
  .outbound-alert{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto}
  .outbound-alert-toggle{min-width:158px;min-height:46px;border-radius:13px}
  .outbound-alert-panel{max-height:74vh}.outbound-alert-list{max-height:58vh}
  .outbound-alert-head{padding:11px 12px}.outbound-alert-item{margin:7px}
}
@media(prefers-color-scheme:dark){
  .outbound-alert{color:#f8fafc}.outbound-alert-panel{background:#172033;border-color:#475569}.outbound-alert-head{background:#111827;border-color:#39475b}.outbound-alert-head strong{color:#fff}.outbound-alert-head span{color:#cbd5e1}.outbound-alert-read-all{background:#243247;border-color:#64748b;color:#f8fafc}
  .outbound-alert-list{background:#111827}.outbound-alert-item{background:#1e293b;border-color:#475569;border-left-color:#60a5fa}.outbound-alert-open{color:#f8fafc}.outbound-alert-open:hover{background:#263449}.outbound-alert-item-top b{color:#93c5fd}.outbound-alert-item-top em,.outbound-alert-meta{color:#d5dde8}.outbound-alert-actions{background:#172033;border-color:#39475b}.outbound-alert-actions a,.outbound-alert-actions button{background:#243247;border-color:#64748b;color:#f8fafc}.outbound-alert-actions a{color:#bfdbfe}.outbound-alert-empty{background:#1e293b;color:#cbd5e1}.outbound-alert-empty strong{color:#fff}
}
@media print{.outbound-alert{display:none!important}}

/* Version 1.1: full-width responsive tables, inline errors, inventory and company calendar */
.jinni-menu-link{display:inline-flex;align-items:center;text-decoration:none}
.jinni-menu-link:hover,.jinni-menu-link:focus{background:#eceff2;outline:none}
.main-full .content{max-width:none;padding-left:clamp(12px,2vw,32px);padding-right:clamp(12px,2vw,32px)}
.main-full .content,.panel,.panel-body,.table-wrap{min-width:0;max-width:100%}

@media(min-width:1000px){
  .responsive-fit-table{width:100%!important;min-width:0!important;table-layout:fixed!important;white-space:nowrap!important}
  .responsive-fit-table th,.responsive-fit-table td{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .responsive-fit-table th.fit-long,.responsive-fit-table td.fit-long{width:18%}
  .responsive-fit-table th.fit-id,.responsive-fit-table td.fit-id{width:11%}
  .responsive-fit-table th.fit-compact,.responsive-fit-table td.fit-compact{width:7.5%}
  .responsive-fit-table th.fit-normal,.responsive-fit-table td.fit-normal{width:10%}
  .responsive-fit-table td>a,.responsive-fit-table td>b,.responsive-fit-table td>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .responsive-fit-table .wrap-text{min-width:0;max-width:none;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:999px){
  .responsive-fit-table{min-width:820px!important;width:max-content;table-layout:auto!important}
  .responsive-fit-table th,.responsive-fit-table td{max-width:310px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .jinni-menu-link{width:100%;min-height:44px;border-bottom:1px solid #e7e9ec;padding:0 8px}
}

.wms-error-modal[hidden],.schedule-modal[hidden]{display:none!important}
.wms-error-modal,.schedule-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}
.wms-error-backdrop,.schedule-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}
.wms-error-dialog{position:relative;width:min(440px,100%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 13px;align-items:start;padding:20px;border:1px solid #d6dbe3;border-radius:13px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.3)}
.wms-error-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#feeceb;color:#b42318;font-size:20px;font-weight:900}
.wms-error-copy{min-width:0}.wms-error-copy strong{display:block;font-size:16px;color:#111}.wms-error-copy p{margin:7px 0 0;color:#4b5563;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.wms-error-dialog>.btn{grid-column:2;justify-self:end;min-width:78px}
body.modal-open{overflow:hidden}
form[aria-busy="true"]{opacity:.78}

.inventory-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.inventory-download-grid section{min-width:0;padding:14px;border:1px solid #dfe3e8;border-radius:8px;background:#fafbfc}
.inventory-download-grid strong{display:block;font-size:14px}.inventory-download-grid p{min-height:40px;margin:7px 0 12px;color:#667085;font-size:12px;line-height:1.5}
.inventory-filter{margin-bottom:0}.inventory-table td{font-variant-numeric:tabular-nums}

.schedule-shell{overflow:hidden}
.google-calendar-panel{margin-bottom:12px}.google-calendar-connection-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.google-calendar-connection-row>div:first-child{min-width:0}.google-calendar-connection-row strong{display:block}.google-calendar-connection-row p{margin:5px 0;color:#667085;line-height:1.5}.google-calendar-connection-row small{color:#667085}.google-calendar-auth-alert{position:fixed;z-index:940;left:50%;bottom:76px;display:flex;align-items:center;gap:16px;width:min(720px,calc(100vw - 28px));padding:13px 15px;border:1px solid #f0b429;border-radius:10px;background:#fff8dc;box-shadow:0 12px 34px rgba(34,34,34,.2);transform:translateX(-50%)}.google-calendar-auth-alert[hidden]{display:none!important}.google-calendar-auth-alert>div{min-width:0;flex:1}.google-calendar-auth-alert strong{display:block;color:#7a4e00}.google-calendar-auth-alert p{margin:4px 0 0;color:#684a12;line-height:1.4;overflow-wrap:anywhere}.google-calendar-auth-alert .btn{flex:0 0 auto}
.schedule-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:13px;border-bottom:1px solid var(--line)}
.schedule-nav,.schedule-actions{display:flex;align-items:center;gap:7px}.schedule-actions{justify-content:flex-end}.schedule-month{font-size:20px;font-weight:800;text-align:center;white-space:nowrap}
.schedule-weekdays,.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.schedule-weekdays{border-bottom:1px solid var(--line);background:#f8fafc}.schedule-weekdays span{padding:8px;text-align:center;color:#667085;font-size:12px;font-weight:700}.schedule-weekdays span:first-child{color:#b42318}.schedule-weekdays span:last-child{color:#175cd3}
.schedule-grid{grid-auto-rows:minmax(105px,1fr);min-height:630px}
.schedule-day{min-width:0;border-right:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec;padding:5px;background:#fff}.schedule-day:nth-child(7n){border-right:0}.schedule-day.outside{background:#f8f9fb}.schedule-day.outside .schedule-day-number{color:#adb3bc}.schedule-day.today{background:#f5f9ff;box-shadow:inset 0 0 0 2px #8db5e2}
.schedule-day-number{display:grid;place-items:center;width:28px;height:28px;margin:0 0 3px auto;border:0;border-radius:50%;background:transparent;color:#344054;cursor:pointer;font:inherit;font-size:12px}.schedule-day-number:hover{background:#e7edf5}.schedule-day.today .schedule-day-number{background:#315b85;color:#fff;font-weight:800}
.schedule-event-list{display:grid;gap:3px;min-width:0}.schedule-event{display:flex;align-items:center;gap:5px;min-width:0;width:100%;height:25px;border:0;border-left:4px solid var(--event-color);border-radius:4px;background:color-mix(in srgb,var(--event-color) 12%,white);color:#1f2937;padding:3px 5px;cursor:pointer;text-align:left}.schedule-event:hover{filter:brightness(.96)}.schedule-event span{flex:0 0 auto;font-size:10px;color:#667085}.schedule-event b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.schedule-dialog{position:relative;width:min(590px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:0 18px 18px;border:1px solid #d6dbe3;border-radius:13px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.3)}
.schedule-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;margin:0 -18px 16px;padding:14px 18px;border-bottom:1px solid #e4e7ec;background:#fff}.schedule-dialog-head strong{font-size:17px}.schedule-close{border:0;background:transparent;font-size:25px;line-height:1;cursor:pointer;color:#667085}
.schedule-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.schedule-all-day{margin:12px 0}.schedule-colors{display:flex;gap:9px;flex-wrap:wrap}.schedule-colors label{cursor:pointer}.schedule-colors input{position:absolute;opacity:0;pointer-events:none}.schedule-colors span{display:block;width:28px;height:28px;border:4px solid #fff;border-radius:50%;background:var(--event-color);box-shadow:0 0 0 1px #cbd0d8}.schedule-colors input:checked+span{box-shadow:0 0 0 3px #202124}.schedule-form-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e4e7ec}

@media(max-width:760px){
  .inventory-download-grid{grid-template-columns:1fr}.inventory-download-grid p{min-height:0}
  .google-calendar-connection-row,.google-calendar-auth-alert{align-items:stretch;flex-direction:column}.google-calendar-auth-alert{bottom:70px}.google-calendar-auth-alert .btn{width:100%}
  .schedule-shell{overflow-x:auto;-webkit-overflow-scrolling:touch}.schedule-toolbar{position:sticky;left:0;grid-template-columns:1fr;min-width:0}.schedule-nav,.schedule-actions{justify-content:center;flex-wrap:wrap}.schedule-month{grid-row:1}.schedule-weekdays,.schedule-grid{min-width:820px}.schedule-grid{grid-auto-rows:95px;min-height:570px}
  .schedule-time-grid{grid-template-columns:1fr}.schedule-form-actions{grid-template-columns:auto 1fr auto auto}
  .wms-error-dialog{grid-template-columns:auto minmax(0,1fr);padding:17px}
}
@media(prefers-color-scheme:dark) and (max-width:620px){
  .wms-error-dialog,.schedule-dialog,.schedule-dialog-head{background:#172033;border-color:#475569;color:#f8fafc}.wms-error-copy strong{color:#fff}.wms-error-copy p{color:#d5dde8}.google-calendar-auth-alert{border-color:#b7791f;background:#382d16}.google-calendar-auth-alert strong{color:#fde68a}.google-calendar-auth-alert p{color:#fef3c7}
}
@media print{.wms-error-modal,.schedule-modal{display:none!important}.schedule-shell{overflow:visible}}

/* v2.1 settlement grouping and one-click whole-month navigation */
.month-range-controls{display:flex;align-items:center;gap:6px;grid-column:1/-1;flex-wrap:wrap}
.sales-partner-subtotal th,.sales-partner-subtotal td{border-top:2px solid #667085!important;background:#eef2f6!important;font-weight:800!important}
.sales-grouped-table tbody+tbody tr:first-child td{border-top:2px solid #aab2bd}
@media(max-width:900px){.month-range-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.month-range-controls .btn{width:100%}}

/* v2.1 canonical transaction statement: larger type, media and tax identities */
.mv-statement-sheet{font-size:13.2px!important}
.mv-statement-brand strong{font-size:20.4px!important}.mv-statement-brand span{font-size:12px!important}
.mv-statement-title h2{font-size:30px!important}.mv-statement-title p{font-size:14.4px!important}
.mv-statement-docno span{font-size:13.2px!important}.mv-statement-docno strong{font-size:18px!important}
.mv-meta-table th,.mv-meta-table td,.mv-total-table th,.mv-total-table td,.mv-statement-items th,.mv-statement-items td{font-size:13.2px!important;line-height:1.3!important}
.mv-meta-table .counterparty-row th,.mv-meta-table .counterparty-name{font-size:14.3px!important}
.mv-statement-bank{display:block!important;text-align:right!important;margin-top:9px!important;font-size:10.8px!important;color:#000!important}
@media(max-width:900px){.mv-statement-items{min-width:980px!important}}
@media print{
  .mv-statement-sheet{zoom:.88}
  .mv-statement-brand strong{font-size:10.8pt!important}.mv-statement-brand span{font-size:8.15pt!important}
  .mv-statement-title h2{font-size:16.8pt!important}.mv-statement-title p{font-size:9pt!important}
  .mv-statement-docno span,.mv-statement-docno strong{font-size:9.6pt!important}
  .mv-meta-table th,.mv-meta-table td,.mv-total-table th,.mv-total-table td,.mv-statement-items th,.mv-statement-items td{font-size:9.6pt!important;line-height:1.12!important}
  .mv-meta-table .counterparty-row th,.mv-meta-table .counterparty-name{font-size:10.4pt!important}
  .mv-statement-items th:nth-child(1),.mv-statement-items td:nth-child(1){width:5mm!important}
  .mv-statement-items th:nth-child(2),.mv-statement-items td:nth-child(2){width:18mm!important}
  .mv-statement-items th:nth-child(3),.mv-statement-items td:nth-child(3){width:23mm!important}
  .mv-statement-items th:nth-child(4),.mv-statement-items td:nth-child(4){width:25mm!important}
  .mv-statement-items th:nth-child(5),.mv-statement-items td:nth-child(5){width:42mm!important}
  .mv-statement-items th:nth-child(6),.mv-statement-items td:nth-child(6){width:13mm!important}
  .mv-statement-items th:nth-child(7),.mv-statement-items td:nth-child(7){width:9mm!important}
  .mv-statement-items th:nth-child(8),.mv-statement-items td:nth-child(8){width:18mm!important}
  .mv-statement-items th:nth-child(9),.mv-statement-items td:nth-child(9){width:22mm!important}
  .mv-statement-bank{font-size:8pt!important;text-align:right!important}
}

/* v2.1.6: VAT 포함 총액(실제 청구 금액) 강조 — 위의 흑백 통일·인쇄 축소 규칙보다 뒤에 두어 우선 적용 (사용자 확정, 2026-08-27) */
.mv-meta-table .total-row th,.mv-total-table .grand-total-row th{font-size:12px!important;font-weight:800!important}
.mv-meta-table .total-row td,.mv-total-table .grand-total-row td{font-size:17px!important;font-weight:900!important}
@media print{
  .mv-meta-table .total-row th,.mv-total-table .grand-total-row th{font-size:9.5pt!important;font-weight:800!important}
  .mv-meta-table .total-row td,.mv-total-table .grand-total-row td{font-size:13pt!important;font-weight:900!important}
}

/* v2.1.10: 조회 표 세로 가이드선 + 숫자 열 머리글 우측 정렬 통일 (직원 피드백, 2026-08-27).
   넓은 표에서 숫자가 어느 항목의 값인지 헷갈리지 않도록 모든 .data 표에 옅은 세로 구분선을 넣는다. */
.data th,.data td{border-right:1px solid #edeff2}
.data th:last-child,.data td:last-child{border-right:0}

/* v2.1.12: 상품·레이블·장르별 입출고 — 구분값(레이블·상품명) 열이 ...으로 잘리지 않게 최소 폭 확보 + 줄바꿈 허용 */
.item-io-summary-table th:first-child,.item-io-summary-table td:first-child{min-width:230px;max-width:none;white-space:normal!important;overflow:visible;text-overflow:clip;word-break:break-word}
.item-io-summary-table td.wrap-text{min-width:280px}
/* v2.1.12b: 이 표의 모든 셀은 말줄임 대신 줄바꿈 (구분값·상품정보·열 머리글 포함, 사용자 확정) */
.item-io-summary-table th,.item-io-summary-table td{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word}
.item-io-summary-table td>a,.item-io-summary-table td>b,.item-io-summary-table td>span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}

/* ===== V3.0.2 ===== */
/* ⑥ 명세서 수량 수정 모드 */
.qty-edit-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 auto 12px;padding:9px 14px;border:1px solid #d7dde5;border-radius:10px;background:#f6f8fa;color:#334155;font-size:13px;max-width:1180px}
.qty-edit-bar .checkline{display:inline-flex;align-items:center;gap:6px;font-size:12px}
.qty-edit-input{display:inline-block;width:64px;padding:3px 6px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;text-align:right;background:#fff}
.qty-edit-input:focus{border-color:#2563eb;outline:none}
.mv-statement-sheet{margin-left:auto!important;margin-right:auto!important}
.mv-statement-items .qty-view{display:none}
@media print{.qty-edit-bar,.qty-edit-input{display:none!important}.mv-statement-items .qty-view{display:inline!important}}
/* ④⑤ 위탁 정산 */
.settle-created{margin:0 0 12px;padding:10px 14px;border:1px solid #16a34a;border-radius:10px;background:#f0fdf4;color:#14532d;font-weight:700}
.settle-doc-head{display:flex;gap:22px;flex-wrap:wrap}
.settle-doc-head>div{display:grid;gap:3px}
.settle-doc-head span{font-size:11px;color:#64748b}
.settle-doc-head b{font-size:15px}
.settle-input{width:86px;padding:5px 7px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;text-align:right}
.settle-table td[data-settle-after]{font-weight:700}
.settle-actions{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.settle-summary{font-size:14px;padding-bottom:9px}
#settle-doc-select{min-width:340px;max-width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:7px;font:inherit}
/* ⑦ 알림 버튼이 화면 요소를 가리지 않도록: 모든 페이지 하단에 알림 pill 높이만큼
   여백을 상시 확보한다 (fixed 위젯 아래에 버튼이 놓일 수 없게 됨). 인쇄 제외. */
@media screen{.main .content{padding-bottom:112px!important}}
@media print{.main .content{padding-bottom:0!important}}
.qty-legacy-warn{color:#b42318}
.settle-selected-row td{background:#eef6ff}
.settle-restock-active{color:#15803d;font-weight:800}

/* V3.1.1 매출조회 > 레이블별 보기 (레이블 → 공급사 → 거래처 → 명세서) */
.sales-label-table .sales-label-head th{background:#e8edf3!important;border-top:2px solid #667085!important;font-size:13px}
.sales-label-table .sales-supplier-head td{background:#f5f7f9;font-weight:700;color:#344054}
.sales-label-table .sales-indent-1{padding-left:22px!important}
.sales-label-table .sales-indent-2{padding-left:44px!important}
.sales-label-table tr.sales-row-open td{background:#eef6ff!important}
.sales-doc-rows>td{background:#fbfcfd;padding:10px 14px 14px 44px!important;white-space:normal}
.sales-doc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;color:#344054}
.sales-doc-inner{width:auto;min-width:640px;background:#fff;border:1px solid var(--line);border-radius:7px}
.sales-doc-inner th{position:static;background:#f2f4f7}
.sales-doc-inner td,.sales-doc-inner th{padding:6px 10px}
@media print{.sales-doc-rows{display:none!important}#sales-doc-expand-all{display:none!important}}

/* V3.1.5 레이블별 매출 — 타이틀별/일자별 정렬 목록.
   열이 많아 자동 축소가 걸리면 일자가 잘리고 저장 버튼이 세로로 접히므로,
   이 표만 내용 폭 기준으로 두고 가로 스크롤(.table-wrap)에 맡긴다. */
.sales-line-table{table-layout:auto!important;width:max-content!important;min-width:100%!important}
.sales-line-table td,.sales-line-table th{vertical-align:middle;overflow:visible!important;text-overflow:clip!important;max-width:none!important}
.sales-line-table td:first-child,.sales-line-table th:first-child{white-space:nowrap!important}
.sales-line-table .wrap-text{white-space:normal!important;min-width:150px;max-width:300px}
.sales-line-table td .btn.small{white-space:nowrap}
.sales-line-table tfoot th{position:sticky;bottom:0;background:#eef2f6!important;border-top:2px solid #667085!important;font-weight:800!important}

/* V3.3.2: 표 머리글의 보조 설명(예: 재고↓/재고↑) */
.col-note{display:block;font-weight:400;font-size:11px;opacity:.65;letter-spacing:0}

/* V3.3.4: 달력의 일요일·공휴일은 빨강, 토요일은 파랑. 오늘 표시가 항상 우선한다. */
.schedule-day.holiday .schedule-day-number{color:#b42318}
.schedule-day.saturday .schedule-day-number{color:#175cd3}
.schedule-day.holiday.outside .schedule-day-number,
.schedule-day.saturday.outside .schedule-day-number{opacity:.45}
.schedule-day.today .schedule-day-number{background:#315b85;color:#fff;font-weight:800}
.schedule-holiday-name{display:block;margin:0 0 3px;padding:1px 4px;border-radius:4px;background:#fef3f2;color:#b42318;font-size:11px;font-weight:700;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-holiday-notice{margin:0 0 10px}

/* V3.4.0 이월(carry-over) */
.carry-badge{margin-left:6px;vertical-align:middle}
.carry-inline{color:#175cd3;font-size:12px;white-space:nowrap}
.carry-panel{margin:0 0 10px;border:1px solid #bfd3f5;border-radius:8px;background:#f5f9ff;padding:8px 12px}
.carry-panel summary{list-style:none;cursor:pointer;display:inline-flex}
.carry-panel summary::-webkit-details-marker{display:none}
.carry-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.carry-form label{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:#344054}
.carry-form input[type=date],.carry-form input[name=reason]{border:1px solid #cfd3d8;border-radius:6px;padding:6px 8px;font:inherit}
.mv-statement-carry{display:block;font-style:normal;font-size:11px;color:#175cd3;margin-top:2px}
.carry-meta-row td{font-size:12px}
@media print{.carry-panel{display:none!important}.mv-statement-carry{color:#000!important}.carry-inline{color:#000!important}}
/* V3.4.0 거래처·사입처 관리: 수정창을 해당 행 바로 아래에 표시 */
.data tr.editing-target td{background:#eef4ff!important}
.data tr.edit-row td{background:#f5f9ff!important;white-space:normal;padding:12px 14px;border-bottom:2px solid #bfd3f5}
.edit-row-head{font-weight:700;margin-bottom:10px}
.edit-row .form-grid{grid-template-columns:repeat(4,minmax(170px,1fr));max-width:1200px}
.edit-row .field input,.edit-row .field textarea{width:100%}
/* V3.4.1 거래처 공유용 재고 25개 상한 선택 */
.shared-cap-line{display:flex;gap:6px;align-items:center;margin:4px 0 8px;font-size:13px}


/* ================= V3.5.0 디지털 음원 정산 ================= */
.royalty-table th small{display:block;font-weight:400;color:#8a8f98;font-size:.72em;letter-spacing:.02em;line-height:1.2;margin-top:1px}
.royalty-table td.num,.royalty-table th.num{white-space:nowrap}
.royalty-fx{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}
.royalty-match{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.8em;border:1px solid #d9dde3;background:#f6f7f9;color:#444;white-space:nowrap}
.royalty-match-direct{border-color:#bcd9c4;background:#eef8f0;color:#1d6b32}
.royalty-match-resolved{border-color:#c9d7ea;background:#eef3fb;color:#274a80}
.royalty-match-album_only{border-color:#ead9b8;background:#fbf4e6;color:#7a5410}
.royalty-match-unmatched{border-color:#e8bfbf;background:#fbeeee;color:#8d2222}
tr.royalty-unmatched td{background:#fffaf5}
.royalty-toolbar select,.royalty-toolbar input[type=month]{min-width:9.5em}
.royalty-done{border-left:4px solid #1f3864;background:#f2f5fa}
.royalty-ok{color:#1d6b32;font-weight:600}
.royalty-check{display:inline-flex;align-items:center;gap:.4em;font-weight:400}
.royalty-inline-form{display:inline}
.royalty-members-head{margin-top:14px}
.royalty-num{width:6em;text-align:right}
.royalty-member-new td{background:#f6f7f9}
.royalty-share-note{margin-top:6px}
.royalty-code-input{max-width:11em}
.royalty-portal-intro h3{margin:0 0 6px 0}
.royalty-pivot td{vertical-align:top}
.toolbar-spacer{flex:1}
.royalty-detail{padding:4px 2px}
.royalty-detail-line{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:3px 0;border-bottom:1px dashed #e4e7ec;font-size:.92em}
.royalty-detail-line:last-of-type{border-bottom:0}
.royalty-detail-month{font-weight:600;min-width:5.5em}.royalty-detail-dsp{min-width:7em}.royalty-detail-amt{font-variant-numeric:tabular-nums;font-weight:600;min-width:11em;text-align:right}
.royalty-detail-note{margin-top:4px;font-size:.85em}
/* V3.5.0 상세(행별) 표: 19열이라 촘촘하게 — 코드·수치는 줄바꿈 금지, 제목만 좁은 폭에서 줄바꿈 */
.royalty-line-table{font-size:12.5px}
.royalty-line-table th,.royalty-line-table td{padding:5px 7px;vertical-align:middle}
.royalty-line-table .wrap-text{min-width:120px;max-width:220px;line-height:1.3}
.royalty-line-table td.royalty-note{white-space:normal!important;min-width:180px;max-width:260px;font-size:11.5px;line-height:1.3;color:var(--muted)}
.royalty-line-table td.royalty-code{font-family:Consolas,"Malgun Gothic",monospace;font-size:12px;white-space:nowrap}
/* V3.5.1 간이(관리부 원장) 행 표시 · 아티스트 열람 미리보기 */
.royalty-kind-summary{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.8em;border:1px solid #d8cfe8;background:#f3effa;color:#4d2f80;white-space:nowrap}
.royalty-match-artist_only{border-color:#d8cfe8;background:#f3effa;color:#4d2f80}
.royalty-portal-select{min-width:26em;max-width:100%}
.royalty-portal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.royalty-portal-name{font-size:1.35em;font-weight:700}
.royalty-indent1{padding-left:1.6em!important}
.royalty-indent2{padding-left:3.2em!important;font-size:.92em}
.royalty-portal-dsp-row td{background:#fafbfc}
/* V3.5.3 아티스트 열람 표시 항목 설정 */
.royalty-fieldset-form{display:block}
.royalty-scope-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:8px 0 12px;border-bottom:1px dashed #e4e7ec;margin-bottom:12px}
.royalty-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px}
.royalty-field-group{border:1px solid #e0e3e8;border-radius:8px;padding:10px 12px 12px;background:#fcfcfd}
.royalty-field-group-head{font-weight:700;font-size:12.5px;color:#1f3864;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #eceff3}
.royalty-field-item{display:flex;align-items:flex-start;gap:7px;padding:5px 0;font-weight:400;cursor:pointer}
.royalty-field-item input{margin-top:3px;flex:0 0 auto}
.royalty-field-item span{display:flex;flex-direction:column;gap:1px;min-width:0}
.royalty-field-item b{font-size:12.5px;font-weight:600}
.royalty-field-item small{font-size:11px;line-height:1.35}
.royalty-field-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}
@media (max-width:620px){.royalty-field-grid{grid-template-columns:1fr}}

/* V3.5.4 외화 환산 표시 */
.royalty-fx-krw{color:#3a5a8c;font-size:12px;white-space:nowrap}
.royalty-fx-open{color:#b35c00;font-size:11.5px;font-weight:600;margin-left:4px;white-space:nowrap}
.royalty-fx-table td.num,.royalty-fx-table th.num{white-space:nowrap}
.royalty-fx-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.royalty-fx-form input[type=date]{width:150px}
.royalty-fx-form input[type=number]{width:110px}
.royalty-fx-badge{display:inline-block;padding:1px 6px;border-radius:4px;background:#e8f0fb;color:#1f3864;font-size:11.5px;white-space:nowrap}
.royalty-fx-badge.manual{background:#fbf3e6;color:#8a4b00}
.royalty-fx-badge.none{background:#f3f3f3;color:#777}
.royalty-warn{border-left:4px solid #b35c00;background:#fbf3e6}

/* V3.5.4 창이 좁을 때 — 정산 표의 이름 칸(앨범·트랙·아티스트)이 한 줄로 늘어나 표가 화면 밖으로 밀리지 않게 줄바꿈한다.
   금액·코드·판매월 칸은 그대로 한 줄(nowrap). 남는 폭은 .table-wrap 가로 스크롤. */
.royalty-table:not(.royalty-line-table) td:first-child,.royalty-table:not(.royalty-line-table) th:first-child{white-space:normal;overflow-wrap:anywhere;min-width:200px;max-width:min(520px,44vw)}
.royalty-table .wrap-text{white-space:normal!important;overflow-wrap:anywhere;min-width:140px;max-width:min(360px,34vw)}
.royalty-table td:first-child .btn.small{white-space:nowrap;margin-left:4px}
.royalty-pivot td:first-child,.royalty-pivot th:first-child{min-width:0;white-space:nowrap}
.royalty-fx-table td.wrap-text{max-width:min(320px,26vw)}
.royalty-fx-form{row-gap:4px}
.royalty-fx-form .royalty-fx-badge{white-space:normal;max-width:100%}
@media(max-width:1100px){.kpi-line{gap:14px}.kpi-line b{font-size:16px}.royalty-toolbar select,.royalty-toolbar input[type=month]{min-width:8em}}
.royalty-table:not(.royalty-line-table) th{white-space:normal}
.royalty-table:not(.royalty-line-table) th.num{min-width:5.5em}
.royalty-table:not(.royalty-line-table) td:first-child,.royalty-table:not(.royalty-line-table) th:first-child{min-width:160px}

/* V3.6 IP 공급자 */
.royalty-tag{display:inline-block;padding:1px 7px;border-radius:999px;background:#eef2f6;font-size:12px;margin:1px 2px 1px 0;white-space:nowrap}
tr.royalty-unconfirmed td:first-child{border-left:3px solid #e0a84a}
.catalog-track td{background:#fbfcfd}

/* V3.6.1 권리자 계정(정산관리시스템) 메뉴 */
.jinni-menu a.jinni-menu-button{display:flex;align-items:center;text-decoration:none}
.jinni-menu a.royalty-holder-nav.is-active{background:#eef2f7;border-bottom:2px solid #315b85}
