#pos-app { --bg:#101318; --panel:#191e26; --line:#303845; --muted:#a0adbf; --blue:#3478ff; color:#edf3fc; background:var(--bg); font:15px/1.5 'Segoe UI','Malgun Gothic',sans-serif; min-height:100vh; display:flex; margin:-8px; }
#pos-app * { box-sizing:border-box; }
#pos-app button,#pos-app input,#pos-app textarea { font:inherit; }
#pos-app button { cursor:pointer; color:inherit; border:1px solid var(--line); background:#222936; border-radius:9px; padding:12px 18px; }
#pos-app button:hover { background:#303e55; }
#pos-app button:disabled { opacity:.55; cursor:wait; }
#pos-app :focus-visible { outline:3px solid #86b4ff; outline-offset:3px; }
#pos-app .sidebar { width:215px; flex-shrink:0; background:#151a22; border-right:1px solid var(--line); padding:34px 22px; display:flex; flex-direction:column; }
#pos-app .brand { color:white; text-decoration:none; font-size:25px; font-weight:800; letter-spacing:2px; }
#pos-app .brand span { display:block; color:var(--muted); font-size:10px; letter-spacing:2.5px; margin-top:6px; }
#pos-app .store-badge { padding:10px 12px; background:#1c2d4c; color:#a9c7ff; border-radius:7px; margin:32px 0 24px; }
#pos-app nav { display:grid; gap:10px; }
#pos-app nav button { text-align:left; border-color:transparent; background:transparent; font-size:21px; display:flex; gap:16px; align-items:center; }
#pos-app nav button span { font-size:15px; }
#pos-app nav button[aria-current=page] { background:#245be0; color:white; }
#pos-app .sidebar-foot { margin-top:auto; color:#a7b1c1; font-size:12px; }
#pos-app small { display:block; color:var(--muted); font-size:12px; }
#pos-app .sidebar-foot small { margin-top:8px; font-size:9px; letter-spacing:1px; }
#pos-app .workspace { min-width:0; flex:1; display:flex; flex-direction:column; }
#pos-app header { min-height:94px; padding:22px 38px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
#pos-app .eyebrow { display:block; color:var(--muted); font-size:11px; letter-spacing:1px; }
#pos-app #page-name { display:block; font-size:21px; margin-top:2px; }
#pos-app .header-right { display:flex; gap:18px; align-items:center; font-size:12px; color:#c8d4e6; }
#pos-app #mode-label { color:#94b6ff; border:1px solid #365185; padding:4px 8px; border-radius:4px; }
#pos-app main { padding:32px 38px; flex:1; }
#pos-app #notice:not(:empty) { padding:13px 18px; border:1px solid #607baf; border-radius:8px; margin-bottom:20px; background:#1b2b47; }
#pos-app h1 { font-size:30px; line-height:1.35; margin:0 0 8px; letter-spacing:-1px; }
#pos-app h2 { font-size:18px; margin:0; }
#pos-app p { color:var(--muted); margin:8px 0 24px; }
#pos-app .intro { display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; }
#pos-app .intro p { margin-bottom:0; }
#pos-app .primary { background:var(--blue); border-color:var(--blue); font-weight:700; }
#pos-app .primary:hover { background:#2364ec; }
#pos-app .panel { border:1px solid var(--line); background:var(--panel); border-radius:13px; padding:24px; }
#pos-app .panel-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
#pos-app .pill { font-size:11px; color:#afcaff; padding:4px 8px; border-radius:5px; background:#253653; }
#pos-app .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:24px; }
#pos-app .stat { padding:19px 23px; }
#pos-app .stat span { color:var(--muted); font-size:12px; }
#pos-app .stat strong { font-size:32px; display:block; margin-top:6px; }
#pos-app .stat strong em { font-size:13px; font-style:normal; margin-left:6px; color:var(--muted); }
#pos-app .home-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); gap:22px; }
#pos-app .rank { display:flex; gap:16px; padding:17px 0; border-bottom:1px solid var(--line); align-items:center; }
#pos-app .rank:last-child { border:0; }
#pos-app .rank-no { color:#8fb6ff; font-weight:700; width:23px; }
#pos-app .rank .item-name { flex:1; min-width:0; }
#pos-app .rank strong { font-size:14px; }
#pos-app .rank .qty { font-size:13px; color:#a9c7ff; white-space:nowrap; }
#pos-app textarea,#pos-app input { color:#f4f7fd; background:#10151e; border:1px solid #465267; border-radius:8px; padding:14px; }
#pos-app textarea { width:100%; resize:vertical; min-height:200px; margin:12px 0; }
#pos-app .note-foot { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:11px; }
#pos-app .note-copy { font-size:12px; margin-bottom:10px; }
#pos-app .login { max-width:480px; margin:50px auto 80px; padding:38px; }
#pos-app .login .symbol { color:#8cb6ff; font-size:13px; letter-spacing:2px; margin-bottom:25px; }
#pos-app .login h1 { font-size:27px; }
#pos-app .login label { display:block; font-size:13px; margin:24px 0 8px; }
#pos-app .login input { width:100%; font-size:25px; letter-spacing:10px; }
#pos-app .login button { width:100%; margin-top:20px; }
#pos-app .login .hint { font-size:12px; margin-bottom:0; }
#pos-app .search { display:flex; gap:12px; align-items:center; margin-bottom:20px; }
#pos-app .search input { flex:1; min-width:0; }
#pos-app .search label { color:var(--muted); font-size:12px; }
#pos-app .table-wrap { overflow:auto; }
#pos-app table { border-collapse:collapse; width:100%; min-width:630px; }
#pos-app th { color:var(--muted); font-size:12px; text-align:right; padding:14px 10px; border-bottom:1px solid var(--line); font-weight:500; }
#pos-app td { padding:18px 10px; text-align:right; border-bottom:1px solid var(--line); }
#pos-app th:first-child,#pos-app td:first-child { text-align:left; }
#pos-app td strong { font-size:14px; }
#pos-app td .available { color:#96baff; font-weight:700; }
#pos-app .empty { text-align:center; padding:50px 10px; color:var(--muted); }
#pos-app .caption { font-size:11px; margin:16px 0 0; }
#pos-app footer { display:flex; justify-content:space-between; padding:18px 38px; color:#79879b; font-size:10px; border-top:1px solid var(--line); }
@media(max-width:1100px) { #pos-app .sidebar { width:172px; padding:30px 16px; } #pos-app main { padding:26px 24px; } #pos-app header { padding:20px 24px; } #pos-app .home-grid { grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr); } #pos-app .panel { padding:19px; } #pos-app .header-right { gap:10px; } #pos-app .rank { gap:8px; } }
@media(max-width:760px) { #pos-app .workspace { display:none; } #pos-app .sidebar { width:100%; min-height:100vh; } #pos-app .sidebar:after { content:'PC 또는 태블릿에서 이용해 주세요.'; margin-top:50px; } #pos-app nav { display:none; } }
