:root{--black:#000;--white:#fff;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--accent-blue:#06f;--accent-red:red;--accent-green:#0c0;--accent-green-light:#e6ffe6;--accent-yellow:#fc0;--accent-yellow-light:#fff9e6;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--border-radius:0px;--border-width:1px;--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-size-xs:13px;--font-size-sm:15px;--font-size-base:17px;--font-size-lg:21px;--font-size-xl:28px;--font-size-2xl:38px;--font-size-3xl:56px;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--grid-base:8px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.35s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--black);background:var(--white)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.02em}h1,h2{font-weight:700}h3,h4{font-weight:600}h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}h4{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}h5{font-size:var(--font-size-base);margin-bottom:var(--spacing-sm);font-weight:600}h6{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:600}p{margin-bottom:var(--spacing-md)}a{color:var(--black);transition:color var(--transition-fast);text-decoration:underline}a:hover{color:var(--accent-blue)}.grid{gap:var(--spacing-md);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}button,.button{font-family:var(--font-sans);font-size:var(--font-size-sm);padding:var(--spacing-sm)var(--spacing-md);border:var(--border-width)solid var(--black);background:var(--white);color:var(--black);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:var(--spacing-xs);font-weight:500;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--black);color:var(--white)}button:disabled,.button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--black);color:var(--white)}button.primary:hover{background:var(--gray-800)}button.danger{border-color:var(--accent-red);color:var(--accent-red)}button.danger:hover{background:var(--accent-red);color:var(--white)}button.small{font-size:var(--font-size-xs);padding:var(--spacing-xs)var(--spacing-sm)}button.large{font-size:var(--font-size-base);padding:var(--spacing-md)var(--spacing-lg)}input,textarea,select{font-family:var(--font-sans);font-size:var(--font-size-base);padding:var(--spacing-sm)var(--spacing-md);border:var(--border-width)solid var(--gray-300);background:var(--white);color:var(--black);width:100%;transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--black);outline:none}textarea{resize:vertical;min-height:100px}label{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:500;display:block}.card{border:var(--border-width)solid var(--gray-300);padding:var(--spacing-lg);background:var(--white);transition:border-color var(--transition-fast)}.card:hover{border-color:var(--black)}table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}thead{border-bottom:2px solid var(--black)}th{text-align:left;padding:var(--spacing-sm)var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:var(--font-size-xs)}td{padding:var(--spacing-md);border-bottom:var(--border-width)solid var(--gray-200)}tr:hover{background:var(--gray-50)}.modal-overlay{z-index:1000;padding:var(--spacing-xl);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--white);border:2px solid var(--black);width:100%;max-width:800px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-lg);border-bottom:var(--border-width)solid var(--gray-300);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:var(--border-width)solid var(--gray-300);gap:var(--spacing-sm);justify-content:flex-end;display:flex}.badge{font-size:var(--font-size-xs);padding:var(--spacing-xs)var(--spacing-sm);border:var(--border-width)solid var(--black);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:inline-block}.badge.primary{background:var(--black);color:var(--white)}.badge.success{background:var(--accent-green);color:var(--black);border-color:var(--accent-green)}.badge.warning{background:var(--accent-yellow);color:var(--black);border-color:var(--accent-yellow)}.badge.danger{background:var(--accent-red);color:var(--white);border-color:var(--accent-red)}.container{max-width:1400px;padding:0 var(--spacing-xl);margin:0 auto}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-gray{color:var(--gray-600)}.text-center{text-align:center}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.uppercase{text-transform:uppercase;letter-spacing:.05em}.border-b{border-bottom:var(--border-width)solid var(--gray-200)}.border-t{border-top:var(--border-width)solid var(--gray-200)}.kbd{font-family:var(--font-sans);font-size:var(--font-size-xs);border:var(--border-width)solid var(--gray-400);background:var(--gray-100);padding:2px 6px;font-weight:600;line-height:1;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border:2px solid var(--gray-100)}::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.layer-card{padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000}.layer-card.selected{border-color:var(--black)}.layer-card:hover{border-color:var(--gray-400)}.config-preview{border:2px solid var(--black);background:var(--gray-100);gap:1px;width:100%;display:grid}.cabinet-cell{background:var(--black);opacity:.1}.status-confirmed{border-color:var(--accent-green);background:#e6ffe6}.status-pending{border-color:var(--accent-yellow);background:#fff3e6}.status-alert{border-color:var(--accent-red);background:#ffe6e6}.type-icon{font-size:var(--font-size-lg);line-height:1;display:inline-block}@media (max-width:768px){h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}.container{padding:0 var(--spacing-md)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.modal-overlay{padding:var(--spacing-md);align-items:flex-start;overflow-y:auto}.modal{max-height:none;margin:var(--spacing-md)0}table{white-space:nowrap;display:block;overflow-x:auto}.modal-footer,.flex{flex-direction:column}button,.button{justify-content:center;width:100%}footer{padding:6px 12px!important;font-size:10px!important}}@media (max-width:480px){.modal-header,.modal-body,.modal-footer{padding:var(--spacing-md)}.badge{padding:2px 6px;font-size:10px}nav a span:last-child{display:none}nav a{padding:8px}}@media (min-width:481px) and (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1025px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
