:root{--sidebar-width: 260px;--header-height: 56px;--primary: #1a237e;--bg: #f5f5f5;--surface: #ffffff;--text: #212121;--text-secondary: #757575;--border: #e0e0e0;--success: #2e7d32;--warning: #f57f17;--danger: #c62828;--info: #1565c0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--primary);text-decoration:none}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"sidebar header" "sidebar content";min-height:100vh}.app-header{grid-area:header;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px}.app-sidebar{grid-area:sidebar;background:var(--primary);color:#fff;display:flex;flex-direction:column;overflow-y:auto}.app-content{grid-area:content;padding:24px;overflow-y:auto}.sidebar-logo{padding:20px;font-size:18px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer}.sidebar-group{padding:16px 20px 4px;font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.6}.sidebar-link{display:block;padding:10px 20px;color:#ffffffd9;font-size:14px;transition:background .2s}.sidebar-link:hover,.sidebar-link.router-link-active{background:#ffffff1a}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:12px 20px}.sidebar-footer a{color:#ffffffb3;font-size:13px;display:block;padding:6px 0}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#283593}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:var(--text-secondary);font-size:13px}.form-control{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--primary)}.card{background:var(--surface);border-radius:8px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #00000014}.card-header{font-size:18px;font-weight:600;margin-bottom:16px}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.badge-success{background:#e8f5e9;color:var(--success)}.badge-warning{background:#fff3e0;color:var(--warning)}.badge-danger{background:#ffebee;color:var(--danger)}.badge-info{background:#e3f2fd;color:var(--info)}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-secondary);font-size:13px}.status-tag{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-planned{background:#e3f2fd;color:#1565c0}.status-in_progress,.status-execution{background:#fff3e0;color:#e65100}.status-verified,.status-completed,.status-published{background:#e8f5e9;color:#2e7d32}.status-overdue{background:#ffebee;color:#c62828}.status-pending_approval{background:#f3e5f5;color:#7b1fa2}.status-preparation{background:#e8eaf6;color:#283593}
