:root{--chiwai-bg:#f7f7f5;--chiwai-fg:#1a1a1a;--chiwai-accent:#b5482a;--chiwai-border:#e2e2df;--chiwai-card:#fff;--chiwai-muted:#6b6b66}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--chiwai-bg);color:var(--chiwai-fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit}.app-shell{display:flex;min-height:100vh}.app-nav{width:220px;flex-shrink:0;background:var(--chiwai-card);border-right:1px solid var(--chiwai-border);padding:24px 0}.app-nav__brand{padding:0 20px 20px;font-weight:700;font-size:1.1rem}.app-nav__tenant{font-size:.8rem;color:var(--chiwai-muted)}.app-nav__spaces,.app-nav__tenant{padding:0 20px 16px}.app-nav__spaces-label{display:block;margin-bottom:6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--chiwai-muted)}.app-nav__spaces-select{width:100%;padding:6px 8px;font-size:.85rem;color:var(--chiwai-fg);background:#fff;border:1px solid var(--chiwai-border);border-radius:6px}.app-nav__spaces-select:disabled{color:var(--chiwai-muted);cursor:progress}.app-nav__list{list-style:none;margin:0;padding:0}.app-nav__link{display:block;padding:10px 20px;text-decoration:none;color:var(--chiwai-fg);border-left:3px solid transparent}.app-nav__link--active{border-left-color:var(--chiwai-accent);background:#fbeeea;font-weight:600}.app-nav__link--disabled{color:var(--chiwai-muted);cursor:default}.app-nav__footer{padding:16px 20px 0;margin-top:16px;border-top:1px solid var(--chiwai-border)}.app-nav__footer .btn{width:100%}.app-main{flex:1 1;padding:32px 40px;max-width:1100px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px}.login-alt{margin-top:20px;padding-top:16px;border-top:1px solid var(--chiwai-border)}.login-alt__divider{margin:0 0 12px;text-align:center;font-size:.8rem;color:var(--chiwai-muted)}.login-alt .btn{width:100%}.login-google{margin-top:12px;display:flex;justify-content:center}.page-title{margin:0 0 4px;font-size:1.6rem}.page-subtitle{margin:0 0 24px;color:var(--chiwai-muted);font-size:.9rem}.card{border:1px solid var(--chiwai-border);border-radius:8px;padding:20px}.card,.placeholder-card{background:var(--chiwai-card)}.placeholder-card{border:1px dashed var(--chiwai-border);border-radius:8px;padding:32px;color:var(--chiwai-muted)}table.dish-table{width:100%;border-collapse:collapse}table.dish-table td,table.dish-table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--chiwai-border);font-size:.9rem}table.dish-table tr:hover td{background:#fafaf8}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:#eef0ec}.badge--visible{background:#e3f3e6;color:#1e6b30}.badge--hidden{background:#f3e3e3;color:#8a2020}.badge--planned{background:#fbedd2;color:#8a5a00}.form-row{margin-bottom:16px}.form-row label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}.form-row input,.form-row select,.form-row textarea{width:100%;padding:8px 10px;border:1px solid var(--chiwai-border);border-radius:6px;font-size:.95rem;font-family:inherit}.form-row textarea{min-height:90px;resize:vertical}.field-help{margin:4px 0 0;font-size:.8rem;color:var(--chiwai-muted,#6b7280)}.btn{padding:8px 16px;border-radius:6px;border:1px solid var(--chiwai-accent);background:var(--chiwai-accent);color:#fff;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:transparent;color:var(--chiwai-accent)}.btn--danger{background:#8a2020;border-color:#8a2020}.status-msg{margin-top:10px;font-size:.85rem}.status-msg--ok{color:#1e6b30}.status-msg--error{color:#8a2020}.field-hint{font-size:.75rem;color:var(--chiwai-muted);margin-top:2px}.impressum-warnung{background:#fdf3d7;border:1px solid #e3c56b;border-left:6px solid #c98a06;border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#5f4a06}.impressum-warnung__titel{margin:0 0 4px;font-weight:700}.impressum-warnung__text{margin:0;font-size:.9rem}.impressum-warnung__text a{font-weight:600;text-decoration:underline}.impressum-warnung__felder{margin:4px 0 8px;padding-left:22px;font-size:.9rem}.suspended-warnung{background:#fbe1e1;border:1px solid #d98b8b;border-left:6px solid #b3261e;border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#601c17}.suspended-warnung__titel{margin:0 0 4px;font-weight:700}.suspended-warnung__text{margin:0;font-size:.9rem}