:root{--primary: #1565c0;--danger: #c62828;--bg: #f5f6f8;--border: #d0d4da}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:#1f2430}a{color:var(--primary)}button{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;background:var(--primary);color:#fff;font-size:.95rem}button.secondary{background:#607d8b}button.danger{background:var(--danger)}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem}input[type=color]{width:48px;height:36px;padding:2px;cursor:pointer}label{display:block;margin:.75rem 0 .25rem;font-weight:600;font-size:.85rem}.check-field{display:block;margin:.15rem 0 .25rem}.check-field input[type=checkbox]{width:18px;height:18px;margin:0;vertical-align:middle;cursor:pointer}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border)}th{background:#eef1f5}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.5rem}.error{color:var(--danger);margin-top:.5rem}.container{max-width:1100px;margin:0 auto;padding:1.5rem}.modal-overlay{position:fixed;inset:0;background:#0009;z-index:1100;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.modal{width:100%;max-width:1100px;margin:auto}@media(max-width:768px){.modal-overlay{padding:.75rem;align-items:stretch}.modal{max-width:none}}@media(max-width:768px){.container{padding:.75rem}.card{padding:1rem;border-radius:8px}button{padding:.6rem 1rem;min-height:44px}input,select,textarea{padding:.6rem;min-height:44px;font-size:16px}table{background:transparent}thead{display:none}tr{display:block;margin-bottom:.75rem;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}td{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .9rem;border-bottom:1px solid var(--border)}tr td:last-child{border-bottom:none}td:before{content:attr(data-label);font-weight:600;font-size:.8rem;color:#607d8b;flex:0 0 auto}td[data-label=""]:before,td:not([data-label]):before{content:none}td input,td select{width:auto;flex:1 1 auto}h2{font-size:1.25rem}}
