:root{--sidebar-bg:#222531;--sidebar-fg:#e6eef8;--accent:#2fb6ff;--muted:#9aa4b2;--card-bg:#ffffff}html,body,#root{height:100%}body{margin:0;font-family:Inter,Roboto,Arial,sans-serif;background:#f4f6f9;color:#0b2336}.app-shell{display:flex;height:100vh}.sidebar{width:260px;background:var(--sidebar-bg);color:var(--sidebar-fg);padding:24px;box-sizing:border-box}.brand{font-size:18px;font-weight:700;margin-bottom:18px}.nav-list{list-style:none;padding:0;margin:0}.nav-list li{margin:12px 0}.nav-list a{color:var(--sidebar-fg);text-decoration:none;font-weight:600}.nav-sub{font-size:12px;color:var(--muted);margin-top:4px}.main{flex:1;padding:24px;overflow:auto}.card{background:var(--card-bg);border-radius:8px;padding:16px;box-shadow:0 1px 3px #0b23360f;margin-bottom:16px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}input,button,select,textarea{font-family:inherit;padding:8px;border:1px solid #dfe6ee;border-radius:6px}button{background:var(--accent);color:#fff;border:none;cursor:pointer}button.secondary{background:#e9eef3;color:#0b2336}button.print{background:#e9eef3;color:#0b2336;transition:background-color .2s,color .2s}button.print-large{background:#e9eef3;color:#0b2336;transition:background-color .2s,color .2s;padding:12px 20px;font-size:16px}button.print:hover,button.print-large:hover{background:#48bb78;color:#fff}button.secondary:hover{background:var(--accent);color:#fff}button.generate{background:#e9eef3;color:#0b2336;transition:background-color .2s,color .2s}button.generate:hover{background:#ed8936;color:#fff}button.clone{background:#e9eef3;color:#0b2336;transition:background-color .2s,color .2s}button.clone:hover{background:#805ad5;color:#fff}button.success{background:#e9eef3;color:#0b2336;transition:background-color .2s,color .2s}button.success:hover{background:#48bb78;color:#fff}button.danger{background:#e9eef3;color:#0b2336;transition:background-color .2s,color .2s}button.danger:hover{background:#e53e3e;color:#fff}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.list-item{padding:8px 12px;border-radius:6px;border:1px solid #eef3f8;margin-bottom:6px;background:#fff}.muted{color:var(--muted)}.table{width:100%;border-collapse:collapse;margin-top:12px}.table th,.table td{padding:12px;text-align:left;vertical-align:top}.table th{font-weight:600;border-bottom:2px solid #dfe6ee}.table td{border-bottom:1px solid #eef3f8}.table tbody tr:last-child td{border-bottom:none}.table-bordered th,.table-bordered td{border:1px solid #dfe6ee}.table-bordered th:last-child,.table-bordered td:last-child{border-right:none;border-left:none}.table-bordered td:last-child{border-bottom:none;border-top:none}.table-bordered thead th:last-child{border-bottom:none;border-top:none}.form-grid{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:center}.form-grid label{font-weight:600;text-align:right}.table-container{border:1px solid #eef3f8;border-radius:6px;overflow:hidden}.rating-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.rating-low{background-color:#48bb78}.rating-medium{background-color:#ed8936}.rating-high{background-color:#e53e3e}.consequence-high{background-color:#0b2336;color:#fff;font-weight:700;text-align:center;border-radius:4px}@media print{body,html{background:#fff!important}*{box-shadow:none!important}body>*{visibility:hidden}.print-container,.print-container *{visibility:visible!important}.print-container{position:absolute;left:0;top:0;width:100%;margin:0;padding:0 10px 10px;background:none;box-shadow:none;border:none}.no-print{display:none!important}.print-section{break-before:avoid;padding-top:10px}h3{break-after:avoid;page-break-after:avoid}tr{break-inside:avoid-page;page-break-inside:avoid}}.sidebar-toggle{display:none;position:fixed;top:10px;left:10px;z-index:1001;background:var(--card-bg);color:#0b2336;border:1px solid #dfe6ee;width:40px;height:40px;font-size:20px;box-shadow:0 1px 3px #0b23361a}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:1999}@media (max-width: 768px){.app-shell{flex-direction:column}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100%;transform:translate(-100%);transition:transform .3s ease-in-out;z-index:2000}.sidebar.sidebar-open{transform:translate(0)}.sidebar-toggle,.sidebar-overlay{display:block}.main{padding:60px 16px 16px}.form-grid{grid-template-columns:1fr}.form-grid label{text-align:left}.toolbar{flex-wrap:wrap}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}
