:root{--black:#000000;--white:#ffffff;--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:#0066ff;--accent-red:#ff0000;--accent-green:#00cc00;--accent-green-light:#e6ffe6;--accent-yellow:#ffcc00;--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:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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)}h2,h3{margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}h5{font-size:var(--font-size-base)}h5,h6{margin-bottom:var(--spacing-sm);font-weight:600}h6{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}p{margin-bottom:var(--spacing-md)}a{color:var(--black);text-decoration:underline;transition:color var(--transition-fast)}a:hover{color:var(--accent-blue)}.grid{display:grid;grid-gap:var(--spacing-md);gap:var(--spacing-md)}.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);font-weight:500;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);text-decoration:none;display:inline-flex;align-items:center;gap:var(--spacing-xs)}.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,select,textarea{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,select:focus,textarea:focus{outline:none;border-color:var(--black)}textarea{resize:vertical;min-height:100px}label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em}.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{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}thead{border-bottom:2px solid var(--black)}th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);font-weight:600;text-transform:uppercase;letter-spacing:.05em;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{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-xl)}.modal{background:var(--white);border:2px solid var(--black);max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:var(--border-width) solid var(--gray-300);display:flex;justify-content:space-between;align-items:center}.modal-body,.modal-footer,.modal-header{padding:var(--spacing-lg)}.modal-footer{border-top:var(--border-width) solid var(--gray-300);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.badge{display:inline-block;font-size:var(--font-size-xs);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width) solid var(--black);text-transform:uppercase;letter-spacing:.05em}.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;margin:0 auto;padding:0 var(--spacing-xl)}.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);font-weight:600;padding:2px 6px;border:var(--border-width) solid var(--gray-400);background:var(--gray-100);display:inline-block;line-height:1}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}::-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);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.layer-card.selected{border-color:var(--black)}.layer-card:hover{border-color:var(--gray-400)}.config-preview{width:100%;border:2px solid var(--black);background:var(--gray-100);display:grid;grid-gap:1px;gap:1px}.cabinet-cell{background:var(--black);opacity:.1}.status-confirmed{background:#e6ffe6;border-color:var(--accent-green)}.status-pending{background:#fff3e6;border-color:var(--accent-yellow)}.status-alert{background:#ffe6e6;border-color:var(--accent-red)}.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{display:block;overflow-x:auto;white-space:nowrap}.flex,.modal-footer{flex-direction:column}.button,button{width:100%;justify-content:center}footer{font-size:10px!important;padding:6px 12px!important}}@media (max-width:480px){.modal-body,.modal-footer,.modal-header{padding:var(--spacing-md)}.badge{font-size:10px;padding:2px 6px}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)}}