@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.css");:root{--color-cloud-canvas:#f5f5f5;--color-surface:#ffffff;--color-storm-gray-wash:#fafafa;--color-text-primary:#171717;--color-text-secondary:#525252;--color-text-muted:#737373;--color-graphite-accent:#1d4ed8;--color-border-light:#e5e5e5;--color-border-neutral:#d4d4d4;--color-electric-blue:#2563eb;--color-sky-blue-accent:#3b82f6;--color-vivid-crimson:#ef4444;--color-vivid-teal:#14b8a6;--color-brand-wine:#944447;--color-brand-wine-deep:#651c1e;--rc-periwinkle:#576cdb;--rc-indigo:#1f1f47;--rc-storm:#3d3d5c;--rc-fog:#6c7693;--rc-ash:#84849a;--rc-cloud:#f9f9fb;--rc-paper:#ffffff;--rc-mist:#eaedf6;--rc-bone:#e3e6e8;--rc-lilac:#d6dbf5;--rc-peri-mist:#c1c9f6;--rc-sky:#abb6ed;--rc-coral:#f25a5a;--rc-coral-blush:#f7d4d4;--rc-mint:#a6f2d2;--rc-mint-veil:#c1f6e0;--rc-shadow:rgba(73,46,107,0.14) 0px 3px 16px 0px;--gray-200:#fafafa;--gray-300:#f5f5f5;--gray-400:#e5e5e5;--color-table-header:var(--gray-400);--color-row-odd:var(--gray-200);--color-row-even:var(--gray-300);--color-row-hover:var(--gray-400);--color-sidebar-bg:var(--color-surface);--color-card-border:var(--gray-400);--color-nav-active:#eff6ff;--color-card-customers:#ffffff;--color-card-contracts:#ffffff;--color-card-accum:#2563eb;--color-card-issued:#ffffff;--color-card-remain:#1e3a8a;--gradient-accent:linear-gradient(135deg,var(--color-brand-wine),var(--color-brand-wine-deep));--color-pane-local:#a3a3a3;--color-pane-local-tint:var(--color-storm-gray-wash);--color-pane-remote-tint:#fbf7f7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:7px;--radius-md:9px;--radius-lg:12px;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.06);--shadow-lg:0 12px 32px rgba(0,0,0,0.08);--font-sans:"Pretendard Variable","Pretendard",var(--font-inter),var(--font-noto-kr),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--text-caption:12px;--text-body-sm:13px;--text-body:14px;--text-body-lg:16px;--text-h4:18px;--text-h3:20px;--text-h2:24px;--text-h1:30px}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:var(--font-sans);font-size:var(--text-body);line-height:1.55;letter-spacing:-.005em;color:var(--color-text-primary);background:var(--color-cloud-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--color-electric-blue);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse}thead th{background:var(--color-table-header);color:var(--color-text-primary)}td,th{font-size:14.5px}tbody tr:nth-child(odd){background:var(--color-row-odd)}tbody tr:nth-child(2n){background:var(--color-row-even)}tbody tr:hover{background:var(--color-row-hover)}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.app-main{padding:var(--space-6);background:var(--color-cloud-canvas);min-width:0}.install-btn,.mobile-topbar,.sidebar-overlay{display:none}@media (max-width:768px){.app-shell{grid-template-columns:1fr}.app-main{padding:var(--space-4);padding-top:calc(56px + var(--space-3))}.mobile-topbar{display:flex;align-items:center;gap:var(--space-3);right:0;height:56px;padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);z-index:200}.mobile-topbar,.sidebar{position:fixed;top:0;left:0}.sidebar{bottom:0;width:240px;max-width:80vw;transform:translateX(-100%);transition:transform .25s ease;z-index:300;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:250}.install-btn{display:block}}.card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card-interactive{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-neutral)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--text-body-sm);color:var(--color-text-secondary);font-weight:500}.input,.select,.textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);outline:none;transition:border-color .3s}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-electric-blue)}.btn{padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-surface);color:var(--color-text-primary);font-weight:500;transition:background .3s}.btn:hover{background:var(--color-storm-gray-wash)}.btn-primary{background:var(--color-electric-blue);color:#ffffff;border-color:var(--color-electric-blue)}.btn-primary:hover{background:var(--color-graphite-accent)}.btn-danger{border-color:var(--color-vivid-crimson);color:var(--color-vivid-crimson);background:var(--color-surface)}.btn-danger:hover{background:var(--color-vivid-crimson);color:var(--color-surface)}.modal-overlay{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.modal-card{width:460px;max-width:100%;border-radius:15px;padding:var(--space-6);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-4)}.explorer-shell{display:grid;grid-template-rows:60px 1fr auto;height:100dvh;overflow:hidden}.explorer-header{display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border-light)}.explorer-body{grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border-light)}.explorer-body,.pane{display:grid;min-height:0}.pane{grid-template-rows:auto auto 1fr auto;background:var(--color-surface);min-width:0}.pane-title{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:3px solid transparent;border-bottom:1px solid var(--color-border-light)}.pane-title svg{flex:none}.pane-title-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.pane-title-main{font-weight:600}.pane-title-sub{font-size:var(--text-caption);color:var(--color-text-muted)}.pane--local .pane-title{border-top-color:var(--color-pane-local);background:var(--color-pane-local-tint)}.pane--local .pane-title svg{color:var(--color-text-secondary)}.pane--remote .pane-title{border-top-color:var(--color-brand-wine);background:var(--color-pane-remote-tint)}.pane--remote .pane-title svg{color:var(--color-brand-wine)}.pane-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-storm-gray-wash);min-width:0}.pane-list{overflow:auto;min-height:0}.pane-bar-sep{flex:none;width:1px;height:18px;background:var(--color-border-light);margin:0 var(--space-1)}.pane-status{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-light);background:var(--color-storm-gray-wash);font-size:var(--text-caption);color:var(--color-text-muted)}.pane-list.drop-target{outline:2px solid var(--color-electric-blue);outline-offset:-2px;background:var(--color-nav-active)}.crumbs{display:flex;align-items:center;gap:var(--space-1);overflow-x:auto;white-space:nowrap;min-width:0;scrollbar-width:thin}.crumb{border:none;background:none;padding:2px 6px;border-radius:5px;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.crumb:hover{background:var(--color-border-light)}.crumb-current,.crumb:hover{color:var(--color-text-primary)}.crumb-current{font-weight:600}.crumb-sep{color:var(--color-text-muted);font-size:var(--text-caption)}.file-table{width:100%;table-layout:fixed}.file-table thead th{position:sticky;top:0;z-index:1;text-align:left;font-weight:500;font-size:var(--text-caption);color:var(--color-text-secondary)}.file-table td,.file-table thead th{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light)}.file-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-table tbody tr{cursor:default;transition:background .1s}.file-table tbody tr:hover{background:var(--color-storm-gray-wash)}.file-table tbody tr.selected{background:var(--color-nav-active)}.file-table tbody tr.dir-row .file-name{font-weight:500}.col-date,.col-size{text-align:right;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.file-name{display:flex;align-items:center;gap:var(--space-2);min-width:0}.file-name span{overflow:hidden;text-overflow:ellipsis}.file-icon{flex:none;color:var(--color-text-muted)}.dir-row .file-icon{color:var(--color-electric-blue)}.pane-empty{color:var(--color-text-muted)}.pane-empty,.pane-start{padding:var(--space-7) var(--space-4);text-align:center;font-size:var(--text-body-sm)}.pane-start{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-text-secondary)}.pane-hint{max-width:320px;color:var(--color-text-muted);font-size:var(--text-caption);line-height:1.5}.pane-error{margin:var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);background:#fef2f2;color:#b91c1c;font-size:var(--text-body-sm)}.transfer-bar{border-top:1px solid var(--color-border-light);background:var(--color-surface);max-height:30vh;display:flex;flex-direction:column}.transfer-head{display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border-light);background:var(--color-storm-gray-wash);font-size:var(--text-body-sm)}.transfer-head,.transfer-list{padding:var(--space-2) var(--space-4)}.transfer-list{overflow-y:auto}.transfer-item{display:grid;grid-template-columns:16px 1fr 160px 60px;align-items:center;gap:var(--space-3);padding:3px 0;font-size:var(--text-caption)}.transfer-dir{color:var(--color-text-muted);text-align:center}.transfer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-track{height:6px;border-radius:3px;background:var(--color-border-light);overflow:hidden}.transfer-fill{height:100%;background:var(--color-electric-blue);transition:width .3s}.transfer-fill.done{background:#22c55e}.transfer-fill.error{background:var(--color-vivid-crimson)}.transfer-fill.canceled{background:var(--color-border-neutral)}.transfer-state{text-align:right;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conflict-list{margin:0;padding:var(--space-3);max-height:160px;overflow-y:auto;list-style:none;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-storm-gray-wash);font-size:var(--text-body-sm)}.conflict-list li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 0}@media (max-width:900px){.explorer-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.stock-card{min-width:0;width:100%;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.stock-register-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;align-items:start}@media (max-width:900px){.stock-register-grid{grid-template-columns:1fr}}.stock-side-stack{display:flex;flex-direction:column;gap:16px}@media (max-width:600px){.stock-card input,.stock-card select{font-size:16px}}@media print{.no-print{display:none!important}body,html{background:#fff}@page{size:A4;margin:12mm}.print-sheet{box-shadow:none!important;border:none!important;padding:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-sheet table{page-break-inside:auto}.print-sheet tr{page-break-inside:avoid}}