.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top,#222 0,#111 60%,#000);color:var(--page-text, #f5f5f5);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-header{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);background:var(--title-bar-bg, linear-gradient(90deg, #1b2838, #3b4252));color:var(--title-bar-text, inherit)}.logo-space{width:56px;height:56px;border-radius:12px;background:#0006;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.4rem}.logo-space img{width:100%;height:100%;object-fit:contain;border-radius:12px}.branding-text h1{margin:0;font-size:1.6rem}.branding-text p{margin:0;opacity:.8}.header-avatar{margin-left:auto}.header-avatar img{width:40px;height:40px;border-radius:6px;object-fit:cover;border:2px solid rgba(255,255,255,.6)}.app-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.card{background:var(--page-background, rgba(15, 23, 42, .9));border-radius:12px;padding:2rem;box-shadow:0 18px 40px #0009;min-width:320px}.landing-menu{display:flex;gap:.75rem;margin-bottom:1.5rem}.landing-menu .menu-item{background:var(--menu-button-bg, transparent);border:1px solid #4b5563;color:var(--menu-button-text, #e5e7eb);padding:.5rem .9rem;font-size:.9rem}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{border:1px solid #e2e8f0;padding:.5rem .75rem;text-align:left}.data-table th{background-color:var(--table-heading-bg, #edf2f7);cursor:pointer;white-space:nowrap;color:var(--table-heading-text, #000000)}.data-table th button{color:inherit}.data-table tbody tr{background-color:var(--table-row-bg, #000000);color:var(--table-row-text, #ffffff)}.landing-menu .menu-item:hover{background:var(--menu-button-bg, rgba(148, 163, 184, .2))}.login-card h2{margin-top:0;margin-bottom:1rem;text-align:center}label{display:block;margin-bottom:1rem;font-size:.9rem}.color-box{margin-top:1.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:10px;border:1px solid #4b5563;background:#0f172ae6;color:#fff;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:1.5rem;row-gap:.5rem}.color-box h4{margin-top:0;margin-bottom:.75rem;font-size:.95rem;grid-column:1 / -1}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-bottom:0}input[type=checkbox]{width:auto;margin:0}input{width:100%;margin-top:.25rem;padding:.5rem .6rem;border-radius:6px;border:1px solid #4b5563;background:var(--field-bg, rgba(15, 23, 42, .8));color:var(--field-text, #f9fafb)}input[type=color]{width:3rem;height:2rem;padding:0;border-radius:4px}textarea{width:100%;margin-top:.25rem;padding:.5rem .6rem;border-radius:6px;border:1px solid #4b5563;background:var(--field-bg, rgba(15, 23, 42, .8));color:var(--field-text, #f9fafb);resize:vertical}.day-times{display:inline-flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;margin:.5rem .5rem 0 0;border-radius:8px;border:1px solid #e2e8f0;background:var(--table-row-bg, #000000)}.day-times legend{font-size:.85rem;padding:0 .25rem;margin-top:.75rem}.day-times label{margin-bottom:.25rem}.day-times input[type=time]{width:auto;min-width:6rem;margin-left:.4rem}button{padding:.6rem 1rem;border-radius:6px;border:none;background:var(--submit-button-bg, #10b981);color:var(--submit-button-text, #022c22);font-weight:600;cursor:pointer}button:hover{background:var(--submit-button-bg, #34d399)}button[type=button]{background:transparent;color:#e5e7eb}button.primary-button{background:var(--submit-button-bg, #10b981);color:var(--submit-button-text, #022c22)}button.primary-button:hover{background:var(--submit-button-bg, #34d399)}button[type=button]:hover{background:#94a3b833}.data-table td button,.action-button{background:var(--action-button-bg, #1f2937);color:var(--action-button-text, #e5e7eb);border:1px solid #4b5563;border-radius:4px;padding:.25rem .6rem;font-size:.85rem}.data-table td button:hover,.action-button:hover{background:var(--action-button-bg, #1f2937)}button.cancel-button{background:var(--cancel-button-bg, #4b5563);color:var(--cancel-button-text, #e5e7eb)}button.cancel-button:disabled{color:var(--cancel-button-text, #9ca3af);cursor:default}.links{display:flex;justify-content:space-between;margin-top:.5rem}.message{margin-bottom:1rem;padding:.5rem .75rem;border-radius:6px;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);font-size:.85rem}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.dialog{background:var(--page-background, rgba(15, 23, 42, .9));border-radius:12px;padding:1.5rem 2rem;box-shadow:0 18px 40px #0009;max-width:700px;width:100%;max-height:80vh;overflow-y:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
