:root{--blue:#195bed;--ink:#182b49;--muted:#77859b;--line:#e5eaf2;--bg:#f6f8fc;--nav:#0d1e3b;--radius:16px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a{color:var(--blue)}button:disabled{opacity:.5;cursor:wait}.loading{padding:30vh 20px;text-align:center}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:white;padding:32px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-weight:750;font-size:25px;letter-spacing:-1px;padding:0 14px}.brand span{color:#699bff}.brand small{display:block;color:#8ca0c0;font-size:11px;letter-spacing:2px;font-weight:500;margin-top:7px}.nav-caption{font-size:10px;color:#7e93b4;letter-spacing:1.6px;margin:40px 14px 14px}.nav-item{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:9px;margin:3px 0;color:#aabbd5;text-decoration:none;font-weight:500}.nav-item:hover{background:#172c4c;color:white}.nav-item.active{background:var(--blue);color:white}.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.side-footer{margin-top:auto;border-top:1px solid #273954;padding:22px 12px 0;color:#9eb0cc;font-size:12px;line-height:1.7}.side-footer b{color:#dce8ff}.main{min-width:0}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;gap:18px}.breadcrumb{color:var(--muted);flex:1}.breadcrumb b{color:var(--ink);font-weight:500}.company-select{max-width:240px;min-width:160px}.avatar{background:#e9efff;color:var(--blue);border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-weight:700}.content{padding:34px 38px;max-width:1700px;margin:auto}.page-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:0 0 28px}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:1.3px;text-transform:uppercase;font-weight:700}h1{font-size:29px;letter-spacing:-.8px;margin:8px 0 8px;font-weight:700}h2{font-size:17px;margin:0 0 10px}h3{font-size:14px;margin:0}.subtitle{color:var(--muted);margin:0;line-height:1.6}.btn{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none;font-weight:600}.btn:hover{border-color:#adc4fc;background:#f5f8ff}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.ghost{background:transparent;border-color:transparent}.btn.small{padding:7px 11px;font-size:12px}.btn.danger{color:#ba304a}.actions{display:flex;gap:8px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.card,.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.card .metric{font-size:32px;font-weight:700;margin:18px 0 4px;letter-spacing:-1px}.card .label{font-size:12px;color:var(--muted)}.card-top{display:flex;justify-content:space-between;align-items:center}.icon-box{display:grid;place-items:center;border-radius:10px;background:#eaf0ff;color:var(--blue);width:38px;height:38px}.card-foot{font-size:11px;color:#8090a8;margin-top:12px}.grid-2{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.panel-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.badge{display:inline-block;background:#eaf6ee;color:#268556;font-size:11px;padding:5px 9px;border-radius:6px;white-space:nowrap}.badge.neutral{background:#eef2f9;color:#697b99}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;text-align:left}.table th{font-size:10px;color:#7c8ba3;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--line);padding:14px 12px;font-weight:600}.table td{padding:17px 12px;border-bottom:1px solid #f0f3f8;font-size:13px}.table tr:last-child td{border:0}.table .muted{font-size:11px;margin-top:6px}.muted{color:var(--muted)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar input{max-width:320px}.empty{text-align:center;padding:48px 20px;color:var(--muted);line-height:1.8}.empty strong{display:block;color:var(--ink);font-size:16px;margin:12px 0 4px}.notice{background:#edf3ff;border:1px solid #d8e5ff;color:#385b98;padding:15px 18px;border-radius:10px;font-size:12px;line-height:1.7;margin:16px 0}.notice.warning{background:#fff9e9;border-color:#f4e4b9;color:#8e6b23}.bar-chart{height:210px;display:flex;gap:6px;align-items:end;padding:20px 0 0;border-bottom:1px solid var(--line)}.bar-chart .bar{background:#467cf1;flex:1;min-width:5px;border-radius:5px 5px 0 0}.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding-top:12px}.activity{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #f1f3f8}.activity-dot{width:8px;height:8px;background:#8eafff;border-radius:50%;margin-top:5px}.activity time{display:block;color:var(--muted);font-size:10px;margin-top:5px}.welcome{background:linear-gradient(110deg,#195bed,#3778ff);color:white;padding:26px 30px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.welcome p{color:#d3e1ff;margin:8px 0 0;font-size:13px}.welcome .btn{background:#ffffff20;color:white;border-color:#ffffff50}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#0d1e3b;color:white;padding:8vw;display:flex;flex-direction:column;justify-content:center}.auth-story h1{font-size:clamp(34px,4vw,58px);line-height:1.12;margin:50px 0 22px}.auth-story p{line-height:1.9;color:#aabbd5;max-width:420px}.auth-form{display:flex;align-items:center;justify-content:center;padding:35px}.auth-form form{width:100%;max-width:370px}.auth-form h1{font-size:27px}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px}.field label{font-size:12px;font-weight:600}.field small{color:var(--muted);font-size:11px;line-height:1.5}input,select,textarea{width:100%;border:1px solid #dfe5ee;border-radius:8px;padding:10px 12px;background:white;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b7ceff;border-color:#6794fa}input[type=color]{height:40px;padding:4px}textarea{resize:vertical;min-height:90px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;gap:8px;align-items:center;font-size:12px;margin:12px 0}.check input{width:auto}.modal-backdrop{position:fixed;inset:0;background:#07152b80;display:flex;align-items:center;justify-content:center;padding:24px;z-index:10}.modal{background:white;border-radius:18px;width:650px;max-width:100%;max-height:92vh;overflow:auto;padding:28px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal .actions{justify-content:end;margin-top:20px}.error{color:#b33248;font-size:13px;line-height:1.6}.mobile-menu{display:none}#toast{position:fixed;bottom:24px;right:24px;z-index:30;background:#142c4f;color:white;border-radius:10px;padding:14px 22px;box-shadow:0 5px 30px #0002;display:none;max-width:90vw}.studio-layout{display:grid;grid-template-columns:330px 1fr;gap:20px;align-items:start}.studio-controls{padding:20px;max-height:calc(100vh - 150px);overflow:auto;position:sticky;top:20px}.studio-controls details{border-bottom:1px solid var(--line);padding:14px 0}.studio-controls summary{font-weight:600;cursor:pointer;margin-bottom:12px}.studio-controls .field{margin-bottom:12px}.canvas-area{background:#e8edf5;border:1px solid #dce3ee;border-radius:16px;padding:32px;min-height:650px;display:flex;align-items:center;flex-direction:column;gap:20px;background-image:radial-gradient(#bdc8dc 1px,transparent 1px);background-size:16px 16px}.art-preview{width:100%;max-width:550px;filter:drop-shadow(0 12px 20px #11234420)}.art-preview>svg{width:100%;height:auto;display:block}.studio-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.qr-preview svg{width:220px;height:220px}.url-box{word-break:break-all;background:#f4f7fc;padding:14px;border-radius:9px;font-size:12px;margin:16px 0}.link-row{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin:8px 0}.nfc-status{padding:24px;text-align:center;font-size:16px;line-height:1.8}.list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-item span{flex:1}.search-count{margin-left:auto;font-size:12px;color:var(--muted)}.footer-note{color:#8391a6;font-size:11px;margin:26px 0}.print-only{display:none}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.content{padding:25px}.topbar{padding:0 25px}.grid-2{grid-template-columns:1fr}.studio-layout{grid-template-columns:290px 1fr}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;z-index:9;width:248px;transition:left .2s}.shell.menu-open .sidebar{left:0}.mobile-menu{display:inline-flex}.topbar{padding:0 16px;height:70px;gap:10px}.breadcrumb{display:none}.company-select{flex:1;max-width:none}.content{padding:24px 16px}.page-head{align-items:start}h1{font-size:24px}.cards{gap:10px}.card{padding:16px}.card .metric{font-size:27px}.welcome{padding:24px;gap:12px}.welcome .btn{display:none}.auth{grid-template-columns:1fr}.auth-story{display:none}.auth-form{min-height:100vh}.studio-layout{grid-template-columns:1fr}.studio-controls{position:static;max-height:none}.canvas-area{padding:18px;min-height:0}.row{grid-template-columns:1fr}.modal{padding:20px}.modal-backdrop{padding:12px}.user-name{display:none}.panel{padding:18px}.link-row{grid-template-columns:1fr}.page-head .actions{justify-content:end}.table td{padding:14px 8px}}@media print{body>*{display:none!important}.print-only{display:block!important}body{background:white}.print-only svg{display:block;width:100%;height:100%}}
.art-preview{background-color:#fff;background-image:linear-gradient(45deg,#e1e5ed 25%,transparent 25%),linear-gradient(-45deg,#e1e5ed 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e1e5ed 75%),linear-gradient(-45deg,transparent 75%,#e1e5ed 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.art-preview [data-component]{cursor:grab;touch-action:none}.art-preview:active [data-component]{cursor:grabbing}.art-preview:focus-visible{outline:2px solid #195bed;outline-offset:6px}#layout-editor .row{grid-template-columns:1fr 1fr}#layout-editor output{font-size:11px;color:#77859b}#layout-editor .muted{font-size:12px;line-height:1.6}#studio-form input[type=range]{padding:5px 0;accent-color:#195bed}.studio-controls summary{line-height:1.5}

.art-preview{touch-action:none}

.page-head{flex-wrap:wrap}.page-head>.actions{margin-left:auto}.studio-layout{grid-template-columns:330px minmax(0,1fr)}.studio-layout>section{min-width:0}.studio-footer .btn{flex-shrink:0}@media(max-width:1100px){.studio-layout{grid-template-columns:290px minmax(0,1fr)}}@media(max-width:760px){.studio-layout{grid-template-columns:minmax(0,1fr)}}
