:root{--primary: #2C3957;--accent: #4AB27C;--accent-text: #2F8E5C;--surface: #E6F5FB;--link: #1A6FE8;--bg: #ffffff;--page: #f1f7fb;--text: #2C3957;--muted: rgba(44, 57, 87, .7);--divider: rgba(44, 57, 87, .12);--shadow: 0 2px 12px rgba(44, 57, 87, .08);--radius: 12px;--danger: #C0392B;--warning: #B9770E}*{box-sizing:border-box}body{margin:0;font-family:Geologica,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;background:var(--page);color:var(--text);font-size:16px;line-height:1.5}.layout{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--primary);color:#fff;padding:24px 0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.user-box{margin-top:auto;padding:16px 20px 0;border-top:1px solid rgba(255,255,255,.1)}.user-name{font-size:14px;font-weight:500;margin-bottom:8px}.user-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.user-link{color:#ffffffd1;text-decoration:none;font-size:13px}.user-link:hover{color:#fff}.user-actions button.secondary{background:transparent;color:#fff;border-color:#fff6}.user-actions button.secondary:hover{background:#ffffff1a;color:#fff}.app-version{font-size:11px;opacity:.5;margin-top:12px;letter-spacing:.02em}.idea-fab{position:fixed;right:22px;bottom:22px;z-index:1000;border-radius:22px;box-shadow:0 4px 14px #2c395740;padding:11px 18px}.idea-flash{position:fixed;right:22px;bottom:22px;z-index:1000;background:#1d9e75;color:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow)}.idea-banner{position:fixed;left:50%;top:16px;transform:translate(-50%);z-index:1001;background:var(--primary);color:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow);display:flex;align-items:center;font-size:14px}.idea-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1002;background:#2c395759;display:flex;align-items:center;justify-content:center}.idea-modal{width:440px;max-width:92vw;margin:0}.idea-modal textarea{width:100%;border:1px solid var(--divider);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:15px;resize:vertical}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:0 20px 22px}.brand .brand-logo{display:block;width:188px;height:auto}.brand .brand-sub{font-weight:300;font-size:13px;opacity:.8;letter-spacing:.01em}.nav a{display:block;padding:10px 20px;color:#ffffffd1;text-decoration:none;font-size:15px;border-left:3px solid transparent}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.active{color:var(--accent);border-left-color:var(--accent);background:#4ab27c1a;font-weight:500}.nav-group{margin:4px 0}.nav-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px 4px 20px}.nav-group-title{font-size:12px;color:#ffffff8c;text-transform:uppercase;letter-spacing:.04em;line-height:1}.nav a.nav-add{width:22px;height:22px;padding:0;border-left:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffd9;text-decoration:none;font-size:17px;flex-shrink:0}.nav a.nav-add:hover{background:#ffffff1f;color:#fff}.nav a.nav-add.active{border-left:1px solid rgba(255,255,255,.35);background:transparent}.nav .nav-sub{display:block;padding:8px 20px 8px 34px;font-size:14px}.nav span.nav-sub{color:#ffffff73}.main{flex:1;padding:32px 40px;max-width:1240px}h1{font-size:30px;font-weight:700;margin:0 0 6px;color:var(--primary)}h2{font-size:21px;font-weight:700;margin:26px 0 12px;color:var(--primary)}.subtitle{color:var(--muted);margin:0 0 24px;font-weight:300;font-size:18px}.card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--divider);vertical-align:top}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:none}button{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:15px;font-family:inherit;font-weight:500;cursor:pointer;transition:background .15s,color .15s}button:hover{background:var(--accent);color:var(--primary)}button:disabled{background:#c2ccdd;color:#fff;cursor:not-allowed}button.secondary{background:transparent;color:var(--primary);border:1px solid var(--primary)}button.secondary:hover{background:var(--surface);color:var(--primary)}button.small{padding:5px 12px;font-size:13px}button.danger{background:#fff;color:var(--danger);border:1px solid #e6c4c4}input,select{border:1px solid var(--divider);border-radius:8px;padding:9px 11px;font-size:15px;font-family:inherit;width:100%;background:#fff;color:var(--text)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4ab27c26}label{display:block;font-size:12px;color:var(--muted);margin:0 0 5px}.field{margin-bottom:14px}.row{display:flex;gap:14px;flex-wrap:wrap}.row>.field{flex:1;min-width:160px}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:500;color:#fff}.pill{display:inline-block;padding:1px 9px;border-radius:6px;font-size:12px;background:var(--surface);border:1px solid var(--divider);color:var(--primary)}.muted{color:var(--muted)}.error{color:var(--danger);background:#fbece9;border:1px solid #f0d2cc;padding:11px 14px;border-radius:10px;margin:12px 0}.success{color:var(--accent-text);background:#e7f6ee;border:1px solid #c3e6d4;padding:11px 14px;border-radius:10px;margin:12px 0}.kpi{font-size:30px;font-weight:700;color:var(--primary)}.kpi-label{color:var(--muted);font-size:13px}.progress{height:8px;background:var(--divider);border-radius:6px;overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .3s}a.link{color:var(--link);cursor:pointer;text-decoration:none}a.link:hover{text-decoration:underline}
