:root{--color-bg:#f2f2f7;--color-surface:#fff;--color-surface-muted:#f2f2f7;--color-fill:#ececef;--color-border:#e5e5ea;--color-text:#1c1c1e;--color-text-muted:#8e8e93;--color-primary:#007aff;--color-primary-hover:#0062cc;--color-danger:#ff3b30;--color-danger-hover:#d70015;--color-success:#34c759;--color-warning:#ff9500;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-card:0 1px 2px #0000000a, 0 6px 16px #0000000d;--shadow-sm:0 1px 2px #0000000f;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#000;--color-surface:#1c1c1e;--color-surface-muted:#2c2c2e;--color-fill:#2c2c2e;--color-border:#38383a;--color-text:#f2f2f7;--color-text-muted:#98989d;--color-primary:#0a84ff;--color-primary-hover:#409cff;--color-danger:#ff453a;--color-danger-hover:#ff6961;--color-success:#32d74b;--color-warning:#ff9f0a;--shadow-card:0 1px 2px #0006, 0 6px 16px #00000080;--shadow-sm:0 1px 2px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.5}h1{letter-spacing:-.4px;margin:0 0 4px;font-size:28px;font-weight:700}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:28px 4px 10px;font-size:15px;font-weight:600}h3{letter-spacing:-.1px;margin:0 0 8px;font-size:16px;font-weight:600}p{margin:0 0 8px}small{color:var(--color-text-muted)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}label{color:var(--color-text-muted);margin-bottom:4px;font-size:13px;font-weight:500;display:block}form>div{margin-bottom:14px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=number],input:not([type]),select,textarea{border-radius:var(--radius-sm);background:var(--color-fill);width:100%;color:var(--color-text);font:inherit;border:1px solid #0000;padding:11px 14px;transition:background .15s,border-color .15s}input[type=file]{font:inherit;color:var(--color-text-muted)}textarea{resize:vertical;min-height:72px}input:focus,select:focus,textarea:focus{background:var(--color-surface);border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #007aff26}input[type=checkbox]{width:auto;accent-color:var(--color-primary)}button{font:inherit;border-radius:var(--radius-sm);background:var(--color-fill);color:var(--color-text);cursor:pointer;border:none;padding:10px 18px;font-weight:600;transition:background .15s,transform 50ms,opacity .15s}button:hover{background:var(--color-border)}button:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button[type=submit],.btn-primary{background:var(--color-primary);color:#fff}button[type=submit]:hover,.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{color:var(--color-danger);background:#ff3b301f}.btn-danger:hover{background:#ff3b3033}.btn-sm{border-radius:8px;padding:5px 10px;font-size:12px}table{border-collapse:collapse;width:100%;font-size:15px}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:14px;font-size:12px;font-weight:600}td{border-top:1px solid var(--color-border);padding:14px}tbody tr:first-child td{border-top:none}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px 22px}.table-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.table-card table{margin:0}.list-group{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.list-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.list-row:last-child{border-bottom:none}.muted{color:var(--color-text-muted)}.badge{background:var(--color-fill);color:var(--color-text-muted);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600;display:inline-block}.badge-draft{background:var(--color-fill);color:var(--color-text-muted)}.badge-upcoming{color:#a16207;background:#ffcc002e}.badge-in_progress{color:var(--color-primary);background:#007aff1f}.badge-paused{color:#b45309;background:#ff950026}.badge-done{color:#1a7f37;background:#34c75926}.progress-track{background:var(--color-fill);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s}.stat-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);min-width:140px;padding:18px 22px}.stat-value{letter-spacing:-.3px;font-size:30px;font-weight:700}.stat-label{color:var(--color-text-muted);font-size:13px;font-weight:500}.badge-alert-orange{color:#b45309;background:#ff950026}.badge-alert-red{color:var(--color-danger);background:#ff3b3021}.segmented{background:var(--color-fill);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--color-text-muted);background:0 0;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:500}.segmented button:hover{background:0 0}.segmented button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.app-shell{min-height:100vh;display:flex}.app-sidebar{background:var(--color-bg);flex-direction:column;flex-shrink:0;justify-content:space-between;width:250px;padding:24px 12px;display:flex}.app-main{flex:1;min-width:0;padding:40px 48px}.mobile-menu-button,.app-overlay{display:none}@media (width<=860px){.app-main{padding:72px 16px 24px}.app-sidebar{z-index:50;background:var(--color-surface);box-shadow:var(--shadow-card);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.mobile-menu-button{z-index:60;border-radius:var(--radius-sm);background:var(--color-surface);width:40px;height:40px;box-shadow:var(--shadow-card);justify-content:center;align-items:center;padding:0;display:flex;position:fixed;top:16px;left:16px}.app-overlay.open{z-index:40;background:#00000059;display:block;position:fixed;inset:0}}@media print{.app-sidebar,.mobile-menu-button,.app-overlay,.no-print{display:none!important}.app-main{padding:0}body{background:#fff}.card{box-shadow:none;border:1px solid #ddd}}
