:root{--ink:#151515;--muted:#77736f;--line:#dedad5;--paper:#f6f4f1;--card:#fff;--acid:#dcff33;--danger:#b62c2c;--shadow:0 20px 70px #18130d20}
*{box-sizing:border-box}html{font-family:Cairo,Arial,sans-serif;background:var(--paper);color:var(--ink)}body{margin:0;min-height:100vh}.sidebar{position:fixed;right:0;top:0;width:14.5rem;height:100vh;background:#171717;color:#fff;padding:1.75rem 1.1rem;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:.7rem;padding:.2rem .6rem 2rem;border-bottom:1px solid #353535}.brand-mark{width:2.7rem;height:2.7rem;background:var(--acid);color:#151515;display:grid;place-items:center;font:800 1.7rem sans-serif;clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}.brand b{display:block;letter-spacing:.12rem}.brand small{display:block;color:#999;font-size:.72rem;letter-spacing:.06rem}nav{padding-top:1.5rem}.nav-item{width:100%;border:0;background:none;color:#aaa;text-align:right;padding:.8rem 1rem;margin:.3rem 0;border-radius:.65rem;font:600 .9rem Cairo;cursor:pointer}.nav-item span{display:inline-block;width:1.8rem;font-size:1.1rem}.nav-item:hover,.nav-item.active{background:#292929;color:#fff}.nav-item.active{box-shadow:inset -3px 0 var(--acid)}.sidebar-foot{margin-top:auto;font-size:.75rem;color:#999;padding:.75rem}.status-dot{display:inline-block;width:.45rem;height:.45rem;background:#9cdc39;border-radius:50%;margin-left:.4rem}main{margin-right:14.5rem;padding:2.25rem 2.75rem;min-height:100vh}.topbar,.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.8rem}.eyebrow{font:600 .75rem "IBM Plex Mono",monospace;letter-spacing:.09rem;color:#888;margin:0 0 .3rem;direction:ltr;text-align:right}.topbar h1,.section-head h2{margin:0;font-size:1.9rem}.primary,.secondary{border:0;border-radius:.6rem;padding:.75rem 1.25rem;font:700 .86rem Cairo;cursor:pointer}.primary{background:var(--ink);color:#fff}.primary:hover{background:#333}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-bottom:1.25rem}.stat{background:#fff;border:1px solid #ebe7e1;border-radius:.8rem;padding:1rem 1.2rem}.stat small{color:var(--muted);display:block;font-size:.78rem}.stat b{font:700 1.7rem "IBM Plex Mono";display:block;margin-top:.2rem}.toolbar{display:flex;gap:.65rem;margin:1.1rem 0}.toolbar select{border:1px solid var(--line);border-radius:.6rem;background:#fff;padding:0 .85rem;font:.84rem Cairo}.search{flex:1;background:#fff;border:1px solid var(--line);border-radius:.6rem;padding:0 .9rem;display:flex;align-items:center;gap:.5rem}.search input{border:0;outline:0;width:100%;padding:.7rem 0;font:.85rem Cairo}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem}.model-card{background:#fff;border:1px solid #e7e2dc;border-radius:.9rem;overflow:hidden;transition:.2s}.model-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #1b181414}.model-image{height:13.5rem;background:#eeebe6;display:grid;place-items:center;position:relative}.model-image img{width:100%;height:100%;object-fit:contain}.model-image .placeholder{font-size:2.8rem;color:#c3beb7}.model-code{position:absolute;bottom:.65rem;right:.65rem;background:#181818;color:#fff;border-radius:.35rem;padding:.35rem .55rem;font:600 .72rem "IBM Plex Mono"}.model-body{padding:1rem}.model-body h3{margin:0 0 .2rem;font-size:1.05rem}.meta{font-size:.76rem;color:#777}.swatches{display:flex;align-items:center;margin:.9rem 0 .75rem}.swatches i{width:1.6rem;height:1.6rem;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #ddd;margin-left:-.3rem}.card-bottom{border-top:1px solid #eee;padding-top:.7rem;display:flex;justify-content:space-between;align-items:center}.card-bottom b{font:600 .83rem "IBM Plex Mono"}.card-bottom button{border:0;background:none;color:#888;cursor:pointer}.empty-state{display:none;text-align:center;padding:5rem 1rem;color:#777}.empty-state b,.empty-state span{display:block}.empty-state b{font-size:1.2rem;color:#222}.empty-state .primary{margin-top:1rem}.view{display:none}.view.active{display:block}.section-head>span{font-size:.8rem;color:#888}.color-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem}.library-color{background:#fff;border:1px solid #e5e1dc;border-radius:.7rem;padding:.7rem;display:flex;gap:.75rem;align-items:center;cursor:pointer}.library-color i{width:3rem;height:3rem;border-radius:.5rem;border:1px solid #0002}.library-color b,.library-color small{display:block}.library-color small{font:.68rem "IBM Plex Mono";color:#777}.material-table{background:#fff;border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.material-row{display:grid;grid-template-columns:1fr 1fr 2fr;padding:1rem 1.25rem;border-bottom:1px solid #eee}.material-row.head{background:#222;color:#fff;font-weight:700}.material-row:last-child{border:0}
dialog{width:min(68rem,calc(100vw - 2.5rem));max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:1rem;box-shadow:var(--shadow);overflow:auto}dialog::backdrop{background:#100f0e9e;backdrop-filter:blur(4px)}#modelForm{padding:0 1.75rem 1.5rem}.dialog-head{position:sticky;top:0;z-index:5;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 0 1rem;border-bottom:1px solid #eee}.dialog-head h2{margin:0;font-size:1.5rem}.step-label{color:#777;font-size:.72rem;margin:0}.icon-btn{border:1px solid #ddd;background:#fff;border-radius:50%;width:2.25rem;height:2.25rem;font-size:1.4rem;cursor:pointer}.form-layout{display:grid;grid-template-columns:17.5rem 1fr;gap:1.5rem;padding:1.5rem 0}.drop-zone{height:20rem;background:#f2f0ed;border:1.5px dashed #c8c3bd;border-radius:.8rem;display:grid;place-items:center;position:relative;overflow:hidden;cursor:pointer;text-align:center}.drop-zone.drag{border-color:#111;background:#f3f6df}.drop-zone img{display:none;width:100%;height:100%;object-fit:contain}.drop-copy b,.drop-copy small{display:block}.drop-copy small{color:#8e8984;font-size:.74rem;margin-top:.3rem}.upload-icon{font-size:1.9rem;display:block}.text-btn{width:100%;border:0;background:none;color:#9c302d;font:.76rem Cairo;padding:.5rem;cursor:pointer}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.field-grid label{font-size:.75rem;font-weight:700;color:#595653}.field-grid input,.field-grid select,.field-grid textarea{width:100%;border:1px solid #dcd8d3;border-radius:.45rem;padding:.65rem .7rem;background:#fff;font:.82rem Cairo;margin-top:.25rem;outline:0}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{border-color:#444;box-shadow:0 0 0 3px #eee}.field-grid input[readonly]{background:#f3f2ef;color:#555}.wide{grid-column:1/-1}.form-section{border-top:1px solid #e8e4df;padding:1.3rem 0}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.section-title>div{display:flex;gap:.65rem;align-items:center}.section-title>div>span{background:#181818;color:var(--acid);border-radius:.45rem;padding:.4rem .55rem;font:600 .72rem "IBM Plex Mono"}.section-title b,.section-title small{display:block}.section-title small{font-size:.7rem;color:#888}.section-title em{font-style:normal;font-size:.72rem;color:#777}.section-title>strong{font:700 .95rem "IBM Plex Mono"}.color-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.2rem,1fr));gap:.5rem}.color-option{border:1px solid #dedad5;background:#fff;border-radius:.55rem;padding:.5rem;display:flex;align-items:center;gap:.55rem;text-align:right;cursor:pointer}.color-option i{width:2rem;height:2rem;border-radius:.45rem;border:1px solid #0002;flex:none}.color-option b,.color-option small{display:block}.color-option b{font-size:.75rem}.color-option small{font:.61rem "IBM Plex Mono";color:#777}.color-option.selected{border:2px solid #161616;padding:calc(.5rem - 1px);background:#f7f7ed}.color-option.selected:after{content:'✓';margin-right:auto;font-weight:bold}.series-table-wrap{overflow:auto}.series-table{width:100%;border-collapse:collapse;text-align:center}.series-table th{background:#f2f0ed;color:#666;font-size:.7rem;padding:.55rem}.series-table td{border-bottom:1px solid #eee;padding:.5rem}.series-table td:first-child{text-align:right}.series-table input{width:3.7rem;text-align:center;border:1px solid #ddd;border-radius:.35rem;padding:.45rem;font:.75rem "IBM Plex Mono"}.series-color{display:flex;align-items:center;gap:.55rem}.series-color i{width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid #ccc}.series-color b,.series-color small{display:block}.series-color small{font:.6rem "IBM Plex Mono";color:#777}.row-total{font:700 .75rem "IBM Plex Mono"}.dialog-actions{position:sticky;bottom:-1.5rem;background:#fff;border-top:1px solid #eee;padding:1rem 0;display:flex;justify-content:flex-end;gap:.55rem}.toast{position:fixed;bottom:1.5rem;left:1.5rem;background:#171717;color:#fff;border-radius:.6rem;padding:.75rem 1.1rem;font-size:.8rem;opacity:0;transform:translateY(.8rem);pointer-events:none;transition:.25s;z-index:10}.toast.show{opacity:1;transform:none}
@media(max-width:850px){.sidebar{width:4.5rem;padding:1.2rem .5rem}.brand div,.sidebar-foot{display:none}.brand{padding:0 .3rem 1.5rem}.brand-mark{width:2.65rem}.nav-item{font-size:0;text-align:center}.nav-item span{font-size:1.2rem;width:auto}main{margin-right:4.5rem;padding:1.5rem 1.1rem}.stats{grid-template-columns:repeat(2,1fr)}.form-layout{grid-template-columns:1fr}.drop-zone{height:16rem}.toolbar{flex-wrap:wrap}.search{min-width:100%}}@media(max-width:560px){main{margin-right:0;padding:1.2rem .75rem 5.5rem}.sidebar{width:100%;height:4rem;top:auto;bottom:0;flex-direction:row;padding:.35rem .6rem}.brand{display:none}.sidebar nav{display:flex;width:100%;padding:0}.nav-item{margin:0;padding:.5rem}.topbar h1{font-size:1.5rem}.topbar .primary{padding:.65rem}.stats{gap:.45rem}.stat{padding:.75rem}.form-layout{display:block}.image-panel{margin-bottom:1rem}.field-grid{grid-template-columns:1fr}.wide{grid-column:auto}.model-grid{grid-template-columns:1fr}dialog{width:calc(100vw - 1rem)}#modelForm{padding:0 1rem 1.25rem}}
.scope-options{border:1px solid var(--line);border-radius:.6rem;padding:.8rem 1rem}.scope-options label{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 0 1rem}.scope-options small{display:block;color:#777;margin-top:.55rem}.user-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.user-actions .secondary{padding:.4rem .7rem}
.otp-input{direction:ltr;text-align:center;font:700 1.45rem "IBM Plex Mono",monospace!important;letter-spacing:clamp(1.1rem,5vw,2.6rem);padding:.7rem 0 1.05rem!important;background-color:#fff!important;background-image:linear-gradient(to right,#6e6a66 0 68%,transparent 68% 100%)!important;background-size:16.6667% 2px!important;background-repeat:repeat-x!important;background-position:0 calc(100% - .45rem)!important}
.color-group{background:#fff;border:1px solid var(--line);border-radius:.85rem;padding:1rem;margin-bottom:1rem}.color-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.color-group-head h3{margin:0}.color-group-head small{color:#777}
.global-series-control{display:flex;align-items:end;gap:1rem;background:#f3f1ed;border-radius:.65rem;padding:.8rem;margin-bottom:.8rem}.global-series-control label{font-size:.78rem;font-weight:700}.global-series-control input{display:block;width:10rem;margin-top:.25rem;padding:.55rem;border:1px solid var(--line);border-radius:.4rem}.model-card{position:relative}.model-approve{position:absolute;z-index:2;top:.6rem;right:.6rem;background:#fff;padding:.35rem .55rem;border-radius:.4rem;font-size:.75rem;box-shadow:0 2px 8px #0002}.order-model.detailed{display:block}.order-model.detailed>label{display:flex;gap:.6rem;align-items:center}.order-model.detailed select{width:100%;margin:.6rem 0;padding:.55rem;border:1px solid var(--line);border-radius:.4rem}.order-color-series{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.45rem}.order-color-series label{display:flex;align-items:center;gap:.35rem;font-size:.75rem}.order-color-series i{width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid #bbb}.order-color-series input{width:4rem!important;margin-right:auto}
