:root{color:#17202a;background:#f5f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef3f7}.auth-card,.panel,.table-card,.item-card,.modal{background:#fff;border:1px solid #dfe5eb;border-radius:8px;box-shadow:0 8px 24px #16202a0d}.auth-card{width:min(100%,420px);padding:28px}.auth-card h1,.page h1{margin:0;font-size:22px;line-height:1.15;letter-spacing:0}.auth-switch{margin:18px 0 0;text-align:center;color:#5d6b78}.auth-switch a,.strong-link{color:#0b63ce;font-weight:600}.shell{min-height:100vh;display:flex;flex-direction:column}.sidebar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:18px;padding:8px 20px;background:#fffffff5;border-bottom:1px solid #dfe5eb;color:#17202a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-size:18px;font-weight:800;letter-spacing:0;color:#17202a}.nav{display:flex;align-items:center;gap:8px;flex:1}.nav-link{display:flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border-radius:8px;color:#526170;font-size:13px;font-weight:700}.nav-link.active{background:#e7f0ff;color:#0957b7}.nav-link:hover{background:#f0f4f8;color:#17202a}.sidebar-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.company-menu{position:relative}.company-trigger{max-width:180px;min-height:32px;display:inline-flex;align-items:center;gap:6px;border:1px solid #d8e1ea;border-radius:8px;background:#fff;color:#0957b7;padding:0 10px;font-size:13px;font-weight:800;cursor:pointer}.company-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-trigger:hover{background:#f7f9fb;border-color:#b9c7d5}.company-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:240px;display:grid;gap:4px;padding:8px;background:#fff;border:1px solid #dfe5eb;border-radius:8px;box-shadow:0 14px 30px #16202a24}.company-dropdown-item,.company-dropdown-action{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:6px;background:transparent;color:#17202a;padding:0 9px;cursor:pointer;font-size:13px;font-weight:700;text-align:left}.company-dropdown-item:hover,.company-dropdown-action:hover{background:#eef3f7}.company-dropdown-action{color:#0957b7}.user-email{max-width:220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#687786;font-size:13px}.content{flex:1;min-width:0;padding:18px 20px}.page{width:100%;max-width:none;margin:0}.page.narrow{max-width:760px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.page-header h1{color:#17202a}.product-header{align-items:center;gap:12px}.product-title{flex:0 0 auto;min-width:120px}.header-search{flex:1;min-width:280px}.header-search .field{flex:1;min-width:240px}.stack{display:grid;gap:12px}.stack-lg{display:grid;gap:16px}.toolbar,.actions,.chips,.stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.not-found-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #f0cf8a;border-radius:8px;background:#fff8e8}.panel{padding:14px}.panel h2,.item-card h2,.modal h2{margin:0;font-size:17px;letter-spacing:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.compact-create-panel{border-color:#cfe0f5;background:#fbfdff}.mt{margin-top:14px}.form-grid{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(130px,1fr)) auto;gap:12px;align-items:end}.form-grid.compact{grid-template-columns:minmax(180px,1fr) minmax(140px,220px) auto}.detail-edit-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.field{display:grid;gap:6px;min-width:0}.field-label{font-size:13px;font-weight:700;color:#425160}.field-error,.error-text{color:#c3372b;font-size:13px;margin:0}.input,.textarea,.file-input{width:100%;min-height:36px;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#17202a;padding:7px 10px;outline:none}.input:focus,.textarea:focus{border-color:#2474d8;box-shadow:0 0 0 3px #2474d824}.textarea{min-height:520px;resize:vertical}.btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:7px 12px;cursor:pointer;font-weight:700;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:#0b63ce;color:#fff}.btn-primary:hover{background:#0957b7}.btn-secondary{background:#fff;border-color:#cbd5df;color:#17202a}.btn-secondary:hover,.btn-ghost:hover{background:#eef3f7}.btn-ghost{background:transparent;color:#334252}.btn-danger{background:#c3372b;color:#fff}.danger-text{color:#c3372b}.icon-button{width:32px;height:32px;display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.icon-button:hover{background:#788ca029}.icon-button.danger{color:#c3372b}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chip,.segmented button{min-height:34px;border-radius:999px;border:1px solid #cbd5df;background:#fff;padding:6px 13px;cursor:pointer}.chip.active,.segmented button.active{background:#0b63ce;color:#fff;border-color:#0b63ce}.segmented{display:inline-flex;gap:4px;padding:4px;background:#e8edf2;border-radius:999px;width:fit-content}.segmented button{border:0;border-radius:999px;background:transparent}.table-card{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:9px 12px;color:#526170;background:#f7f9fb;font-weight:800}td{padding:9px 12px;border-top:1px solid #edf1f5;vertical-align:middle}tr:hover td{background:#fbfcfd}.select-cell{width:42px;text-align:center}.select-cell input{width:16px;height:16px;vertical-align:middle;cursor:pointer}.row-actions{display:flex;justify-content:flex-end;gap:4px}.empty{text-align:center;color:#7a8794;padding:28px}.mono{font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.muted{color:#687786;margin:0}.truncate{max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wide-cell{max-width:620px}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}.badge-gray{background:#edf1f5;color:#526170}.badge-blue{background:#e7f0ff;color:#0957b7}.badge-green{background:#e8f6ee;color:#237347}.badge-red{background:#fdebea;color:#b42318}.badge-amber{background:#fff4d8;color:#8a5b00}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.item-card{padding:14px;display:grid;gap:10px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.muted-card{opacity:.78}.dm-list{display:grid;gap:8px;margin-top:14px}.dm-inputs{display:grid;gap:8px;margin-top:12px}.dm-inputs-head,.dm-input-row{display:flex;align-items:center;gap:10px}.dm-input-row .field{flex:1}.text-button{border:0;background:transparent;color:#0957b7;padding:0;cursor:pointer;font-size:13px;font-weight:800}.small-text{font-size:13px}.dm-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid #edf1f5;border-radius:8px}.company-list{display:grid;gap:8px}.company-option{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;border:1px solid #dfe5eb;border-radius:8px;background:#fff;color:#17202a;cursor:pointer;font-weight:700}.company-option:hover{background:#f7f9fb;border-color:#b9c7d5}.product-detail-header{align-items:center}.product-detail-grid{display:grid;grid-template-columns:minmax(320px,1.4fr) minmax(280px,.8fr);gap:16px;align-items:start}.product-card-panel{min-height:100%}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px 18px;margin:0}.detail-list div{min-width:0}.detail-list dt{color:#687786;font-size:12px;font-weight:800;margin-bottom:3px}.detail-list dd{margin:0;color:#17202a;overflow-wrap:anywhere}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:start center;padding:24px 18px;background:#0d161f73;overflow:auto}.modal{width:min(100%,560px);padding:16px}.modal.wide{width:min(100%,920px)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.print-grid,.editor-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);gap:18px;align-items:start}.print-preview-list{max-height:min(68vh,760px);overflow:auto;display:grid;gap:12px;padding:2px}.print-preview-item{position:relative;display:grid;justify-items:center;gap:6px;padding:10px;border:1px solid #dfe5eb;border-radius:8px;background:#f7f9fb}.preview-counter{position:absolute;top:8px;left:8px;min-width:24px;height:24px;display:inline-grid;place-items:center;border-radius:999px;background:#17202a;color:#fff;font-size:12px;font-weight:800;z-index:1}.selection-bar{position:sticky;top:50px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #cfe0f5;border-radius:8px;background:#f2f7ff;box-shadow:0 8px 20px #16202a14}.selection-actions{display:flex;align-items:center;gap:18px}.danger-actions{padding-left:18px;border-left:1px solid #c7d7ea}.print-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.choice-card{min-height:54px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#334252;padding:8px 10px;cursor:pointer;text-align:left}.choice-card strong{font-size:13px;color:#17202a}.choice-card span{font-size:12px;color:#687786}.choice-card.active{border-color:#0b63ce;background:#eef5ff;box-shadow:0 0 0 2px #0b63ce1f}.editor-page{min-height:calc(100vh - 57px);display:flex;flex-direction:column;background:#eef3f7;margin:-28px}.editor-topbar{min-height:58px;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid #dfe5eb}.editor-back{min-height:36px;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#526170;cursor:pointer;font-weight:800}.editor-back:hover{color:#17202a}.editor-name{width:min(320px,34vw)}.dirty-dot{color:#9a6200;font-size:13px;font-weight:800}.editor-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.editor-zoom button{min-width:42px}.editor-error{margin:10px 16px 0}.visual-editor{flex:1;min-height:0;display:grid;grid-template-columns:176px minmax(420px,1fr) 288px}.editor-tools,.editor-properties{min-height:0;overflow-y:auto;background:#fff;padding:12px}.editor-tools{border-right:1px solid #dfe5eb}.editor-properties{border-left:1px solid #dfe5eb;display:flex;flex-direction:column;gap:12px}.tool-section-title{margin:0 0 6px;color:#687786;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.tool-button{width:100%;min-height:38px;display:flex;align-items:center;gap:9px;border:0;border-radius:8px;background:transparent;color:#334252;padding:0 9px;cursor:pointer;font-size:13px;font-weight:800;text-align:left}.tool-button:hover{background:#f0f4f8;color:#17202a}.tool-button.active{background:#e7f0ff;color:#0957b7}.tool-button.danger{color:#c3372b}.tool-button:disabled{opacity:.45;cursor:not-allowed}.tool-split{display:grid;gap:2px;margin:8px 0;padding:8px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}.tool-footer{margin-top:auto;padding-top:10px;border-top:1px solid #edf1f5;display:grid;gap:2px}.editor-workspace{min-width:0;min-height:0;position:relative;overflow:auto;display:grid;place-items:start center;align-content:start;gap:12px;padding:24px;background:#d8e1ea}.editor-ruler{justify-self:center;color:#526170;font-size:12px;font-weight:800}.label-canvas{display:block;background:#fff;box-shadow:0 14px 34px #16202a33;cursor:default;-webkit-user-select:none;user-select:none}.canvas-object{cursor:move}.canvas-object:hover .selection-box,.canvas-object.selected .selection-box{stroke:#0b63ce}.selection-box{fill:transparent;stroke:#0b63ce;stroke-width:1.5;stroke-dasharray:5 3;pointer-events:none}.resize-handle{fill:#fff;stroke:#0b63ce;stroke-width:1.5;cursor:nwse-resize}.resize-handle-ne,.resize-handle-sw{cursor:nesw-resize}.alignment-guide{stroke:#ff8a00;stroke-width:1.4;stroke-dasharray:6 4;pointer-events:none}.props-grid{display:grid;gap:10px}.props-grid.two{grid-template-columns:1fr 1fr}.preset-grid{display:flex;flex-wrap:wrap;gap:7px}.color-input{min-height:40px;padding:4px}.vertical-actions{display:grid;align-items:stretch}.label-preview-wrap{overflow:auto;padding:16px;background:#eef3f7;border-radius:8px}.label-preview{position:relative;background:#fff;border:1px solid #17202a;box-shadow:0 8px 20px #16202a1f}.preview-object{position:absolute;overflow:hidden;display:flex;align-items:flex-start;justify-content:flex-start}.preview-object img{width:100%;height:100%;object-fit:fill}.preview-rect{width:100%;height:100%;border:1px solid currentColor}.preview-ellipse{width:100%;height:100%;border:1px solid currentColor;border-radius:50%}.preview-line{width:100%;height:1px;margin-top:50%;background:currentColor}@media(max-width:920px){.sidebar{gap:14px;padding:12px 18px;overflow-x:auto}.nav{flex:0 0 auto}.user-email{display:none}.content{padding:18px}.product-header{align-items:stretch;flex-direction:column}.header-search{width:100%}.form-grid,.form-grid.compact,.detail-edit-grid,.product-detail-grid,.print-grid,.editor-grid{grid-template-columns:1fr}}@media(max-width:560px){.page-header,.toolbar,.actions,.selection-bar,.selection-actions{align-items:stretch;flex-direction:column}.danger-actions{padding-left:0;padding-top:10px;border-left:0;border-top:1px solid #c7d7ea}.not-found-panel{align-items:stretch;flex-direction:column}.btn{width:100%}.auth-card{padding:22px}}
