@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/onest-400-Z7ro_Tlm.ttf) format("truetype")}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/onest-500-z5cbf_eI.ttf) format("truetype")}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/onest-600-ekx0AbBZ.ttf) format("truetype")}@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/onest-700-eH1JOCPN.ttf) format("truetype")}@font-face{font-family:Onest;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/onest-800-B615PLRw.ttf) format("truetype")}:root{--indigo: #2746E8;--turq: #1AA8D6;--mint: #37D9A4;--ink: #161A2E;--bg: #F4F6FB;--surface: #fff;--border: #E6E9F2;--muted: #5B6172;--faint: #9AA3B2;--grad: linear-gradient(120deg, #2746E8 0%, #1AA8D6 52%, #37D9A4 100%);--grad-btn: linear-gradient(120deg, #2746E8, #1AA8D6);--radius: 14px;--radius-lg: 18px}*{box-sizing:border-box}body{font-family:Onest,system-ui,sans-serif;margin:0;color:var(--ink);background:var(--bg)}*::selection{background:var(--indigo);color:#fff}input,select,button,textarea{font-family:inherit}.logo{display:inline-flex;align-items:center;gap:10px}.wordmark{font-weight:800;letter-spacing:-.02em;line-height:1;white-space:nowrap}.wm-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.wm-mono{color:var(--muted)}.login{max-width:360px;margin:14vh auto 0;display:flex;flex-direction:column;gap:12px;background:var(--surface);padding:32px;border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 40px #161a2e0f}.login .logo{align-self:center;margin-bottom:6px}.login h1{display:none}.login input{padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;font-weight:500;outline:none;transition:border-color .12s}.login input:focus{border-color:var(--indigo)}.login button{margin-top:4px;padding:12px;background:var(--grad-btn);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:700;font-size:15px}.wrap{max-width:940px;margin:0 auto}header{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;flex-wrap:wrap}header nav{display:flex;gap:6px;flex:1;flex-wrap:wrap}header nav button{padding:8px 14px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;cursor:pointer;font-weight:600;font-size:13px;transition:all .12s}header nav button:hover{border-color:#d5dae8}header nav button.on{background:var(--grad-btn);color:#fff;border-color:transparent}.logout{padding:8px 14px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;cursor:pointer;font-weight:600;font-size:13px}main{padding:18px}.card{background:var(--surface);padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg)}.card h2{margin:0 0 18px;font-size:18px;font-weight:800;letter-spacing:-.01em}.card h3{margin:18px 0 6px;font-size:14px;font-weight:700}.card label{display:block;font-weight:600;font-size:11px;color:var(--faint);margin:14px 0 5px}.card input,.card select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:500;outline:none;transition:border-color .12s;background:var(--surface)}.card input:focus,.card select:focus{border-color:var(--indigo)}.card input[type=file]{padding:8px;font-weight:400}button.primary{margin-top:18px;padding:12px 20px;background:var(--grad-btn);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:700;font-size:14px}.preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-top:8px;font-size:13px}.preview ol{margin:6px 0 0;padding-left:20px}.filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.filters input{flex:1;min-width:140px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;outline:none}.filters input:focus{border-color:var(--indigo)}.filters button,.filters select{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-weight:600;cursor:pointer}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}th{color:var(--faint);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.linkbtn{background:none;border:none;color:var(--indigo);cursor:pointer;padding:0;font:inherit;font-weight:600;text-align:left}.linkbtn:hover{text-decoration:underline}.modal-card.wide{width:min(94vw,520px)}.box-card{font-size:14px;line-height:1.6}.box-card .box-items{margin-top:8px}.box-card ol{margin:4px 0 0;padding-left:20px}.ok{color:#12a06a;font-size:13px;font-weight:500}.err{color:#c0392b;font-size:13px;font-weight:500}.muted{color:var(--faint);font-size:13px}.scanrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.scanrow input[type=file]{flex:1;min-width:140px}.scanbtn{padding:10px 14px;border:none;background:var(--grad-btn);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;font-weight:700;font-size:13px}.modal{position:fixed;inset:0;background:#161a2e8c;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--surface);border-radius:18px;padding:16px;width:min(92vw,380px);box-shadow:0 20px 60px #161a2e4d}.modal-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:12px}.modal-head button{border:none;background:var(--bg);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:16px;color:var(--muted)}.scan-area{position:relative;width:100%;aspect-ratio:1 / 1;background:#000;border-radius:12px;overflow:hidden}.scan-area video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:15%;border:3px solid rgba(255,255,255,.95);border-radius:14px;box-shadow:0 0 0 1000px #00000059}.scan-status{text-align:center;font-size:13px;color:var(--muted);margin-top:10px}.scan-cam-select{width:100%;margin-top:10px;padding:9px 11px;border:1px solid #E6E9F2;border-radius:10px;font-size:13px;font-weight:600;color:#5b6172;background:#f4f6fb}.scan-zoom{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;font-weight:600;color:#5b6172}.scan-zoom input{flex:1}.addrow{margin:10px 0}.addform{display:inline-flex;gap:6px;margin-left:8px}.addform input{width:130px;padding:7px 9px;border:1px solid var(--border);border-radius:10px;outline:none}.addform button{padding:7px 12px;cursor:pointer;border:1px solid var(--indigo);background:var(--surface);color:var(--indigo);border-radius:10px;font-weight:600}.ent{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0;font-size:13px}.ent code{background:var(--bg);padding:2px 7px;border-radius:6px;font-size:12px;font-variant-numeric:tabular-nums}.ent button{padding:4px 10px;cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:8px;color:var(--muted)}.indent{margin-left:20px;border-left:2px solid var(--border);padding-left:14px}.wh{margin:10px 0;padding:10px 0;border-top:1px solid var(--border)}.print-only{display:none}.cart{margin-top:20px;border-top:1px solid var(--border);padding-top:16px}.cart .capt-toggle{display:flex;gap:6px;align-items:center;font-size:13px;margin:8px 0 12px}.cart-row{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:13px}.cart-row code{background:var(--bg);padding:2px 7px;border-radius:6px;font-size:12px;font-variant-numeric:tabular-nums}.cart-row input{width:60px;padding:6px 8px;margin-left:auto;border:1px solid var(--border);border-radius:8px}.cart-row button{border:1px solid #C0392B;color:#c0392b;background:var(--surface);border-radius:8px;cursor:pointer;padding:4px 10px}.labelsheet{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #000;border-left:1px solid #000;margin-top:14px}.cut-cell{border-right:1px solid #000;border-bottom:1px solid #000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;aspect-ratio:1 / 1;break-inside:avoid}.cut-cell img{width:72%;height:auto;image-rendering:pixelated}.cut-cap{font-family:Times New Roman,Times,serif;font-size:12px;text-align:center;margin-top:4px;line-height:1.15}.cut-code{font-family:monospace;font-size:9px;color:#333;margin-top:2px}.labels{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.label{width:150px;text-align:center;border:1px solid var(--border);padding:10px;border-radius:var(--radius)}.label img{width:120px;height:120px;image-rendering:pixelated}.label-code{font-size:11px;font-family:monospace;margin-top:4px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.card-head h2{margin:0}button.ghost{padding:10px 16px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--radius);cursor:pointer;font-weight:600;font-size:14px}.subcard{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:11px;color:var(--faint);margin:0}.form-grid input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:500;outline:none}.form-grid input:focus{border-color:var(--indigo)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.pill-ok{color:#12a06a;background:#e7f7f0}.pill-wait{color:#6b7280;background:#eef0f5}.pill-ready{color:#fff;background:var(--grad-btn)}.pill-ready:before{background:#fff}.status-row{display:flex;gap:6px;flex-wrap:wrap}.dep-list{display:flex;flex-direction:column;gap:10px}.dep-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:border-color .12s;flex-wrap:wrap}.dep-item:hover{border-color:#d5dae8}.dep-main{min-width:0}.dep-name{font-size:16px;font-weight:700;letter-spacing:-.01em}.card-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.card-section-head{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.plain-list code{background:var(--bg);padding:2px 7px;border-radius:6px;font-size:12px}.check-line{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;margin:0}.check-line input{width:18px;height:18px;accent-color:var(--indigo);flex:none}.check-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 6px}.check-group{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.check-group-title{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}.check-item{padding:7px 0}.check-comment{display:block;width:100%;margin:8px 0 0 28px;padding:8px 10px;border:1px solid #FCD9A8;background:#fcf7ee;border-radius:10px;font-size:13px;outline:none;box-sizing:border-box;max-width:calc(100% - 28px)}.result-banner{margin:16px 0 4px;padding:12px 14px;border-radius:var(--radius);font-size:14px;font-weight:600}.result-banner.ok{background:#e7f7f0;color:#0e7a52}.result-banner.bad{background:#fceded;color:#b23b3b}@media(max-width:640px){main{padding:12px}header{padding:12px 14px;gap:10px}.card{padding:16px;border-radius:var(--radius)}.form-grid{grid-template-columns:1fr}.login{margin-top:8vh;padding:24px}.dep-item{flex-direction:column;align-items:flex-start;gap:10px}.filters{flex-direction:column}.filters input,.filters button,.filters select{width:100%}table{display:block;overflow-x:auto;white-space:nowrap}}@media(min-width:1100px){.wrap{max-width:1040px}}@media print{header,.filters,.screen-only{display:none!important}.print-only{display:flex!important}body,.card{background:#fff}.label{page-break-inside:avoid}@page{size:A4;margin:10mm}}
