*{box-sizing:border-box}:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg:#f8faf9;--color-bg-subtle:#f3f4f3;--color-bg-soft:#f3f4f3;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-subtle:#f9fafb;--color-surface-muted:#f9fafb;--color-surface-hover:#f4f6f5;--color-text:#111827;--color-text-secondary:#374151;--color-text-soft:#374151;--color-text-muted:#6b7280;--color-text-faint:#9ca3af;--color-muted:#6b7280;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-primary:#3ecf8e;--color-primary-dark:#249361;--color-primary-strong:#249361;--color-primary-soft:#ecfdf5;--color-secondary:#374151;--color-success:#16a34a;--color-success-soft:#dcfce7;--color-warning:#d97706;--color-warning-soft:#fef3c7;--color-error:#dc2626;--color-error-soft:#fee2e2;--color-info:#2563eb;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 8px 18px #00000014;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--duration-fast:.12s;--duration-normal:.18s;--transition-fast:.12s ease;--transition-normal:.18s ease;--ease-standard:ease}body{color:#1f2937;background:#f6f7f9;margin:0;font-family:Arial,sans-serif}.auth-page{width:min(960px,100% - 32px);margin:32px auto}.app{width:min(1280px,100% - 32px);margin:32px auto}.auth-page{place-items:center;min-height:calc(100vh - 64px);display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.topbar h1{margin:0;font-size:24px}.session{align-items:center;gap:8px;display:flex}.session span{color:#475569}.session button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 14px}.login-panel,.panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:24px}.login-panel{width:min(420px,100%)}.login-panel h1{margin:0 0 20px;font-size:24px}.panel h2{margin:0 0 8px;font-size:20px}.panel p{color:#64748b;margin:0}.admin-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-shell,.user-shell{grid-template-columns:220px minmax(0,1fr);gap:18px;display:grid}.sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-self:start;padding:10px}.sidebar button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:10px 12px}.sidebar button.active{color:#fff;background:#2563eb}.admin-content,.user-content{min-width:0}.users-panel{grid-column:1/-1}.form{gap:14px;display:grid}.form label{color:#475569;gap:6px;font-size:14px;display:grid}.form input,.form select,.form textarea{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.form textarea,.internal-task-form textarea{resize:vertical}.workflow-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.workflow-form label{color:#475569;gap:6px;font-size:14px;display:grid}.workflow-form input,.workflow-form select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.template-form{gap:16px;display:grid}.template-form label,.template-step label{color:#475569;gap:6px;font-size:14px;display:grid}.template-form input,.template-form select,.template-step input,.template-step select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.template-steps{gap:12px;display:grid}.template-step{border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:150px minmax(160px,1.3fr) minmax(150px,1fr) 100px minmax(150px,1fr) 120px;align-items:end;gap:12px;padding:14px;display:grid}.step-title{flex-direction:column;gap:8px;display:flex}.step-controls{flex-wrap:wrap;gap:6px;display:flex}.step-title button,.step-controls button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;width:34px;height:34px;padding:0;font-size:18px;line-height:1;display:inline-grid}.form-actions{align-items:end;gap:8px;display:flex}.form-actions button:not(.primary),.row-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px}.primary{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:6px;padding:10px 14px}button:disabled{cursor:not-allowed;opacity:.65}.error{color:#b91c1c;margin:0;font-size:14px}.status{color:#2563eb;margin:8px 0 0}.load-more-trigger{color:#64748b;text-align:center;padding:14px;font-size:14px}.user-list{gap:8px;margin-top:14px;display:grid}.user-row{border-top:1px solid #e2e8f0;grid-template-columns:140px 1fr;gap:12px;padding-top:8px;display:grid}.user-row span{color:#64748b}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.po-actions{align-items:end;gap:10px;display:flex}.po-actions label{color:#475569;gap:6px;font-size:14px;display:grid}.po-actions select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:180px;padding:10px 12px}.po-actions input{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:220px;padding:10px 12px}.po-panel,.pending-po-panel{padding:20px}.pending-po-table-wrap{overflow-x:auto}.pending-po-table{border-collapse:collapse;width:100%;min-width:900px}.pending-po-table th,.pending-po-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:12px 10px}.pending-po-table th{color:#475569;background:#f8fafc;font-size:13px;font-weight:700}.pending-po-table td{color:#1f2937}.pending-po-table select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:180px;padding:10px 12px}.pending-po-actions{gap:6px;min-width:150px;display:grid}.pending-po-finish{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:30px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;padding:6px 9px;font-size:12px;font-weight:500}.pending-po-finish:not(:disabled):hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:var(--color-primary-soft)}.po-list{gap:14px;display:grid}.po-overview-table{gap:12px;display:grid}.user-po-overview{padding-bottom:8px;display:block;overflow-x:auto}.po-overview-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:14px;display:grid}.user-po-overview .po-overview-row{grid-template-columns:180px max-content;width:max-content;min-width:100%}.user-po-overview .po-overview-main{z-index:2;background:#fff;border-right:1px solid #e2e8f0;padding-right:12px;position:sticky;left:0}.po-overview-main{align-content:start;gap:5px;display:grid}.po-overview-main strong{font-size:18px}.po-progress-count{color:#2563eb;margin-top:8px;font-weight:700}.po-note{gap:6px;margin-top:4px;display:grid}.po-note-toolbar{align-items:center;gap:6px;display:flex}.po-note-text{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);overflow-wrap:anywhere;padding:7px 8px;font-size:12px;line-height:1.35;color:var(--color-text-secondary)!important}.po-note-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:max-content;min-height:28px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;padding:5px 8px;font-size:12px;font-weight:500}.po-note-button:hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:var(--color-primary-soft)}.po-duplicate-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:30px;min-height:28px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;place-items:center;padding:0;font-size:15px;line-height:1;display:inline-grid}.po-duplicate-button:not(:disabled):hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:var(--color-primary-soft)}.po-note-popout{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:8px;padding:10px;display:grid}.po-note-popout label{color:var(--color-text-secondary);gap:5px;font-size:12px;font-weight:500;display:grid}.po-note-popout textarea{resize:vertical;min-width:220px}.po-note-actions{justify-content:flex-end;gap:6px;display:flex}.po-note-actions button:not(.primary){border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:32px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;padding:6px 9px;font-size:12px}.password-settings-form{border-top:1px solid var(--color-border);gap:12px;max-width:420px;margin-top:14px;padding-top:14px;display:grid}.password-settings-form h3{color:var(--color-text);margin:0 0 4px;font-size:15px;font-weight:600}.password-settings-form p{margin:0}.admin-login-list{border-top:1px solid var(--color-border);gap:12px;margin-top:14px;padding-top:14px;display:grid}.admin-login-list h3{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.admin-login-users{gap:8px;display:grid}.admin-login-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.admin-login-row div{gap:2px;display:grid}.admin-login-row span{color:var(--color-text-secondary);font-size:12px}.password-settings-form label{color:var(--color-text-secondary);gap:5px;font-size:12px;font-weight:500;display:grid}.password-settings-form button{width:max-content}.po-overview-steps{--po-step-width:220px;--po-step-gap:10px;gap:10px;display:grid}.po-progress-track{background:#e2e8f0;border-radius:999px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;height:8px;display:grid;overflow:hidden}.po-progress-step{background:#cbd5e1;height:100%}.po-progress-step:first-child{border-radius:999px 0 0 999px}.po-progress-step:last-child{border-radius:0 999px 999px 0}.user-po-overview .po-progress-track{grid-auto-columns:var(--po-step-width);gap:var(--po-step-gap);background:0 0;width:max-content;min-width:100%;padding-bottom:0;overflow:hidden}.po-step-list{gap:8px;display:grid}.user-po-overview .po-step-list{gap:var(--po-step-gap);width:max-content;padding-bottom:0;display:flex;overflow:visible}.po-step{border-top:1px solid #e2e8f0;grid-template-columns:92px minmax(0,1fr) minmax(120px,180px);align-items:center;gap:10px;padding-top:8px;display:grid}.user-po-overview .po-step{width:var(--po-step-width);min-width:var(--po-step-width);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:1fr;align-content:start;padding:10px;font-size:12px;position:relative}.po-step-tools{gap:4px;display:flex;position:absolute;top:6px;right:6px}.icon-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;width:24px;height:24px;padding:0;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.icon-button:disabled{cursor:not-allowed;opacity:.6}.user-po-overview .po-step:first-child{border-top:1px solid #e2e8f0}.po-step strong{overflow-wrap:anywhere}.user-po-overview .po-step-name{padding-right:54px;font-size:13px;line-height:1.35}.po-step span:last-child{color:#64748b}.user-po-overview .po-step span{color:#475569}.user-po-overview .po-step-meta{font-size:11px;line-height:1.3}.user-po-overview .po-step-status{margin-top:2px}.po-step-edit{border-top:1px solid #e2e8f0;gap:8px;padding-top:8px;display:grid}.po-step-edit label{color:#475569;gap:4px;font-size:11px;display:grid}.po-step-edit input{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:7px 8px;font-size:12px}.po-step-edit-actions{gap:6px;display:flex}.po-step-edit-actions button{padding:7px 9px;font-size:12px}.po-step-history{border-top:1px solid #e2e8f0;gap:8px;padding-top:8px;display:grid}.po-step-history p,.po-step-history-row{color:#475569;margin:0;font-size:11px;line-height:1.35}.po-step-history-row{background:#fff;border-radius:6px;gap:3px;padding:7px;display:grid}.po-step-status{color:#475569;background:#e2e8f0;border-radius:999px;width:max-content;padding:3px 8px;font-size:12px}.po-step-status.status-completed{color:#166534;background:#dcfce7}.po-step-status.status-ready{color:#1d4ed8;background:#dbeafe}.po-step-status.status-scheduled{color:#854d0e;background:#fef3c7}.po-step-status.status-waiting{color:#475569;background:#e2e8f0}.po-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.po-summary{grid-template-columns:120px minmax(220px,1fr) repeat(3,minmax(110px,140px));align-items:start;gap:12px;display:grid}.po-summary div,.detail-block{gap:4px;display:grid}.muted{color:#64748b;font-size:12px}.po-dates{color:#475569;flex-wrap:wrap;gap:10px;margin:12px 0;font-size:14px;display:flex}.po-details{border-top:1px solid #e2e8f0;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(120px,1fr));gap:12px;padding-top:12px;display:grid}.po-workflow-map{border-top:1px solid #e2e8f0;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;margin-top:12px;padding-top:12px;display:grid}.po-workflow-map label,.po-workflow-map div{color:#475569;gap:6px;font-size:14px;display:grid}.po-workflow-map select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.po-workflow-map button:not(.primary){color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px}.detail-block p{color:#1f2937;overflow-wrap:anywhere;margin:0;line-height:1.45}.workflow-page,.internal-tasks-page{gap:16px;display:grid}.internal-task-form{grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) minmax(180px,240px) auto;align-items:end;gap:14px;display:grid}.internal-task-form label{color:#475569;gap:6px;font-size:14px;display:grid}.internal-task-form input,.internal-task-form select,.internal-task-form textarea{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.internal-task-form input:disabled{color:#475569;background:#f8fafc}.internal-task-list{gap:12px;display:grid}.internal-task-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:16px;padding:16px;display:grid}.internal-task-card strong{margin-top:8px;font-size:16px;display:block}.internal-task-card p{margin-top:6px}.internal-task-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-list{gap:10px;margin-top:14px;display:grid}.workflow-toolbar{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.workflow-toolbar label{color:#475569;gap:6px;min-width:220px;font-size:14px;display:grid}.workflow-toolbar select,.workflow-toolbar button:not(.primary){color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px}.workflow-group{border-top:1px solid #e2e8f0;gap:10px;padding-top:10px;display:grid}.workflow-group h3{color:#334155;margin:8px 0 0;font-size:16px}.workflow-template-header{color:#1f2937;text-align:left;cursor:pointer;background:#f8fafc;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:12px;display:flex}.workflow-template-header span:first-child{gap:3px;display:grid}.workflow-template-header span:last-child{color:#334155;background:#e2e8f0;border-radius:999px;place-items:center;width:28px;height:28px;font-size:20px;line-height:1;display:grid}.workflow-template-body{gap:10px;padding:0 4px 4px;display:grid}.workflow-template-actions{justify-content:flex-end;display:flex}.workflow-template-actions button,.template-edit-header button:not(.primary){color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px}.template-edit-form{padding:4px}.template-edit-header{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.workflow-row{border-top:1px solid #e2e8f0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-top:12px;display:grid}.workflow-row strong{margin-top:4px;display:block}.workflow-row p{margin-top:4px}.admin-task-list{gap:10px;display:grid}.admin-task-row{border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:12px;padding:12px;display:grid}.admin-task-row p{margin-top:4px}.admin-task-edit{align-items:center;gap:8px;display:flex}.admin-task-edit input{border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;padding:10px 12px}.admin-task-edit button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px}.row-actions{gap:8px;display:flex}.task-panel{padding:20px}.task-table-wrap{overflow-x:auto}.task-header-actions{align-items:center;gap:12px;display:flex}.task-page-actions{align-items:end;gap:10px;margin-bottom:14px;display:flex}.task-page-actions label{color:#475569;gap:6px;min-width:170px;font-size:14px;display:grid}.task-page-actions select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.create-task-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto;align-items:end;gap:12px;width:min(560px,100%);margin-bottom:14px;padding:12px;display:grid}.create-task-title{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.create-task-title button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px}.create-task-box label{color:#475569;gap:6px;font-size:14px;display:grid}.create-task-title strong{grid-column:1/-1;font-size:14px}.create-task-box input,.create-task-box textarea{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.create-task-box textarea{resize:vertical}.task-table{border-collapse:collapse;width:100%;min-width:680px}.task-table th,.task-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:12px 10px}.task-table th{color:#475569;background:#f8fafc;font-size:13px;font-weight:700}.table-sort-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.table-sort-button:hover,.table-sort-button:focus-visible{color:#0f172a}.task-table td{color:#1f2937}.task-complete-inline{gap:8px;min-width:180px;display:grid}.task-complete-inline label{color:#475569;gap:4px;font-size:12px;display:grid}.task-complete-inline input{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:8px 9px}.task-complete-inline button{width:100%;padding:8px 10px}.task-age{border-radius:999px;place-items:center;min-width:42px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-grid}.task-age-fresh{color:#166534;background:#dcfce7}.task-age-warning{color:#854d0e;background:#fef3c7}.task-age-unknown{color:#475569;background:#e2e8f0}.task-list{gap:12px;display:grid}.task-card{border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center;gap:14px;padding:14px;display:grid}.task-main{gap:5px;display:grid}.task-main strong{font-size:16px}.status-pill{color:#334155;background:#e2e8f0;border-radius:999px;width:max-content;padding:3px 8px;font-size:12px}.task-complete{gap:8px;display:grid}.task-complete input{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 12px}.checkbox-field{color:#475569;align-items:center;gap:8px;display:flex}.checkbox-field input{width:auto}@media (width<=560px){.topbar{flex-direction:column;align-items:flex-start}.admin-shell,.user-shell{grid-template-columns:1fr}.sidebar{gap:8px;display:flex;overflow-x:auto}.sidebar button{min-width:max-content}.admin-layout,.user-row{grid-template-columns:1fr}.panel-header,.po-actions,.po-dates{flex-direction:column}.po-summary,.po-overview-row,.po-step,.po-details,.po-workflow-map,.workflow-form,.internal-task-form,.internal-task-card,.template-step,.workflow-row,.admin-task-row{grid-template-columns:1fr}.form-actions,.po-actions,.task-page-actions,.row-actions,.workflow-toolbar{flex-direction:column;align-items:stretch}.workflow-toolbar label,.template-edit-header,.create-task-box,.task-card{grid-template-columns:1fr;min-width:0}}body{min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:radial-gradient(circle at top left, #0f766e1a, transparent 34rem), linear-gradient(180deg, var(--color-bg-soft) 0%, var(--color-bg) 42%, #f9fbfb 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{color:#fff;background:var(--color-primary)}button,input,select,textarea{font-family:var(--font-sans)}button{transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}button:not(:disabled):hover{transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0f766e2e}input,select,textarea{transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #0f766e1c}.auth-page{width:min(960px,100% - 32px);animation:pageIn var(--duration-normal) var(--ease-standard)}.topbar{z-index:20;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border:1px solid #dce7e4d9;margin-bottom:20px;padding:14px 16px 14px 18px;position:sticky;top:12px}.topbar h1{color:var(--color-text);font-size:22px;font-weight:800}.session span{color:var(--color-text-soft);font-weight:650}.session button,.form-actions button:not(.primary),.row-actions button,.workflow-template-actions button,.template-edit-header button:not(.primary),.po-workflow-map button:not(.primary),.create-task-title button,.admin-task-edit button,.workflow-toolbar button:not(.primary),.step-title button,.step-controls button{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-soft);box-shadow:var(--shadow-xs);background:linear-gradient(#fff,#f7faf9)}.session button:hover,.form-actions button:not(.primary):hover,.row-actions button:hover,.workflow-template-actions button:hover,.template-edit-header button:not(.primary):hover,.po-workflow-map button:not(.primary):hover,.create-task-title button:hover,.admin-task-edit button:hover,.workflow-toolbar button:not(.primary):hover,.step-title button:hover,.step-controls button:hover{border-color:var(--color-primary);color:var(--color-primary-strong);box-shadow:0 8px 20px #0f766e1c}.primary{border-radius:var(--radius-sm);color:#fff;background:linear-gradient(180deg, #12857c, var(--color-primary-strong));border:1px solid #0f766ee6;font-weight:750;box-shadow:0 10px 22px #0f766e38}.primary:not(:disabled):hover{background:linear-gradient(#159488,#0f6760);box-shadow:0 14px 28px #0f766e47}button:disabled{filter:saturate(.72)}.panel,.login-panel{padding:24px}.login-panel{width:min(440px,100%);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.login-panel:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-secondary), #d97706);height:5px;position:absolute;inset:0 0 auto}.login-panel h1,.panel h2{color:var(--color-text);letter-spacing:0;font-weight:800}.panel-header{border-bottom:1px solid var(--color-border);padding-bottom:16px}.admin-shell,.user-shell{grid-template-columns:236px minmax(0,1fr);align-items:start;gap:20px}.sidebar{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;padding:8px;position:sticky;top:100px}.sidebar button{border-radius:var(--radius-sm);color:var(--color-text-soft);padding:11px 12px;font-weight:680}.sidebar button.active{color:#fff;background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));box-shadow:0 10px 24px #0f766e38}.form label,.workflow-form label,.template-form label,.template-step label,.internal-task-form label,.po-actions label,.po-workflow-map label,.po-workflow-map div,.workflow-toolbar label,.task-page-actions label,.create-task-box label,.task-complete-inline label,.po-step-edit label{color:var(--color-text-soft);font-weight:650}.form input,.form select,.form textarea,.workflow-form input,.workflow-form select,.template-form input,.template-form select,.template-step input,.template-step select,.internal-task-form input,.internal-task-form select,.internal-task-form textarea,.po-actions select,.po-actions input,.pending-po-table select,.po-workflow-map select,.workflow-toolbar select,.workflow-toolbar button:not(.primary),.admin-task-edit input,.task-page-actions select,.create-task-box input,.create-task-box textarea,.task-table input,.task-complete input,.po-step-edit input{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff;box-shadow:inset 0 1px #17211f05}.error{border-radius:var(--radius-sm);color:var(--color-error);background:var(--color-error-soft);padding:10px 12px;font-weight:650}.status{border-radius:var(--radius-sm);color:var(--color-primary-strong);background:var(--color-primary-soft);padding:10px 12px;font-weight:650}.muted{color:var(--color-muted);font-weight:650}.user-row,.workflow-row,.workflow-group,.po-details,.po-workflow-map,.po-step-edit,.po-step-history{border-color:var(--color-border)}.user-row{border-radius:var(--radius-sm);background:var(--color-surface-muted);border-top:0;padding:11px 12px}.po-overview-row:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.po-overview-main strong{color:var(--color-text);font-weight:800}.po-progress-count{color:var(--color-primary-strong);font-weight:800}.user-po-overview .po-step{border-color:var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg, #fff, var(--color-surface-muted));box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.user-po-overview .po-step:hover{border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:0 10px 24px #17211f14}.user-po-overview .po-step-name{color:var(--color-text);font-weight:800}.icon-button{border-color:var(--color-border);color:var(--color-text-soft);box-shadow:var(--shadow-xs);background:#ffffffe6}.icon-button:hover{border-color:var(--color-primary);color:var(--color-primary-strong);background:var(--color-primary-soft)}.po-step-edit,.po-step-history-row{border-radius:var(--radius-sm);background:#fff}.po-step-history-row{border:1px solid var(--color-border)}.po-step-status,.status-pill,.task-age{border-radius:999px;font-weight:800}.pending-po-table,.task-table{border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.pending-po-table th,.task-table th{border-bottom:1px solid var(--color-border);color:var(--color-text-soft);letter-spacing:0;text-transform:none;background:linear-gradient(#f8fbfa,#eef5f3);font-size:12px}.pending-po-table td,.task-table td{border-bottom:1px solid var(--color-border);color:var(--color-text)}.workflow-template-header{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg, #fff, var(--color-surface-muted))}.workflow-template-header span:last-child{color:var(--color-primary-strong);background:var(--color-primary-soft)}.load-more-trigger{border-radius:var(--radius-md);color:var(--color-muted);background:#fff9;animation:1.8s ease-in-out infinite pulseSoft}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes contentIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSoft{0%,to{opacity:.72}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=760px){.app{width:min(100% - 24px,1440px);margin-top:12px}.topbar{border-radius:var(--radius-lg);position:static}.admin-shell,.user-shell{grid-template-columns:1fr}.sidebar{border-radius:var(--radius-lg);gap:8px;display:flex;position:static;overflow-x:auto}.sidebar button{min-width:max-content}.panel,.login-panel{padding:18px}.panel-header,.po-actions,.task-page-actions,.form-actions,.row-actions,.workflow-toolbar{flex-direction:column;align-items:stretch}.po-actions input,.po-actions select{width:100%;min-width:0}.create-task-box,.template-edit-header,.task-card{grid-template-columns:1fr;min-width:0}}html{background:var(--color-bg)}body{min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button{transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);transform:none!important}button:not(:disabled):hover,button:not(:disabled):active{transform:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-primary-dark);outline:none;box-shadow:0 0 0 3px #3ecf8e38}input,select,textarea{min-height:38px;border:1px solid var(--color-border-strong)!important;border-radius:var(--radius-sm)!important;color:var(--color-text)!important;background:var(--color-surface)!important;box-shadow:none!important;padding:8px 10px!important}input:hover,select:hover,textarea:hover{border-color:#9ca3af!important}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;color:var(--color-text-faint)!important;background:var(--color-surface-subtle)!important}.app{width:min(100% - 32px,1480px);animation:supabaseFade var(--transition-normal);margin:14px auto 28px}.auth-page{width:min(100% - 32px,960px);animation:supabaseFade var(--transition-normal);margin:0 auto}.topbar{z-index:30;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:56px;box-shadow:var(--shadow-xs);-webkit-backdrop-filter:none;backdrop-filter:none;margin-bottom:14px;padding:9px 12px 9px 14px;position:sticky;top:0}.topbar h1{color:var(--color-text);letter-spacing:0;font-size:17px;font-weight:700}.session{gap:10px}.session span{color:var(--color-text-secondary);font-size:13px;font-weight:500}.session button,.form-actions button:not(.primary),.row-actions button,.workflow-template-actions button,.template-edit-header button:not(.primary),.po-workflow-map button:not(.primary),.create-task-title button,.admin-task-edit button,.workflow-toolbar button:not(.primary),.step-title button,.step-controls button,.icon-button{min-height:34px;padding:7px 10px;font-size:13px;font-weight:500;border:1px solid var(--color-border-strong)!important;border-radius:var(--radius-sm)!important;color:var(--color-text-secondary)!important;background:var(--color-surface)!important;box-shadow:none!important}.session button:hover,.form-actions button:not(.primary):hover,.row-actions button:hover,.workflow-template-actions button:hover,.template-edit-header button:not(.primary):hover,.po-workflow-map button:not(.primary):hover,.create-task-title button:hover,.admin-task-edit button:hover,.workflow-toolbar button:not(.primary):hover,.step-title button:hover,.step-controls button:hover,.icon-button:hover{color:var(--color-text)!important;background:var(--color-surface-hover)!important;border-color:#9ca3af!important}.primary{min-height:36px;padding:8px 12px;font-size:13px;font-weight:600;border:1px solid var(--color-primary-dark)!important;border-radius:var(--radius-sm)!important;color:#fff!important;background:var(--color-primary-dark)!important;box-shadow:none!important}.primary:not(:disabled):hover{box-shadow:none!important;background:#1f7a50!important;border-color:#1f7a50!important}button:disabled{opacity:.55;filter:none}.admin-shell,.user-shell{grid-template-columns:232px minmax(0,1fr);gap:14px}.sidebar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;align-self:start;padding:6px;position:sticky;top:72px}.sidebar button{border-radius:var(--radius-sm);min-height:34px;color:var(--color-text-muted);background:0 0;padding:8px 10px;font-size:13px;font-weight:500;line-height:1.25;border:0!important;border-left:2px solid #0000!important}.sidebar button:hover{color:var(--color-text);background:var(--color-surface-hover)}.sidebar button.active{color:var(--color-primary-dark);background:var(--color-primary-soft);box-shadow:none;border-left-color:var(--color-primary-dark)!important}.admin-content,.user-content{animation:supabaseFade var(--transition-normal)}.login-panel,.panel,.sidebar,.po-card,.po-overview-row,.internal-task-card,.admin-task-row,.task-card,.template-step,.create-task-box{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none}.login-panel,.panel{padding:16px}.login-panel{width:min(400px,100%);overflow:visible}.login-panel:before{display:none}.login-panel h1,.panel h2{color:var(--color-text);letter-spacing:0;margin:0 0 4px;font-weight:700}.login-panel h1{font-size:20px}.panel h2{font-size:18px}.panel p,.login-panel p{color:var(--color-text-muted)}.panel-header{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px}.form,.template-form,.workflow-page,.internal-tasks-page,.workflow-list,.internal-task-list,.admin-task-list{gap:10px}.form label,.workflow-form label,.template-form label,.template-step label,.internal-task-form label,.po-actions label,.po-workflow-map label,.po-workflow-map div,.workflow-toolbar label,.task-page-actions label,.create-task-box label,.task-complete-inline label,.po-step-edit label{color:var(--color-text-secondary);gap:4px;font-size:12px;font-weight:500}.error,.status{border-radius:var(--radius-sm);border:1px solid #0000;padding:8px 10px;font-size:13px;font-weight:500}.error{color:var(--color-error);background:#fef2f2;border-color:#fecaca}.status{color:#166534;background:var(--color-primary-soft);border-color:#bbf7d0}.muted{color:var(--color-text-muted);font-size:12px;font-weight:500}.po-panel,.pending-po-panel,.task-panel{padding:16px}.po-actions,.task-page-actions,.workflow-toolbar,.form-actions,.row-actions{gap:8px}.po-actions input,.po-actions select{min-width:190px}.pending-po-table-wrap,.task-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:auto}.pending-po-table,.task-table{border-collapse:separate;border-spacing:0;background:var(--color-surface);width:100%;box-shadow:none;border:0}.pending-po-table{min-width:920px}.task-table{min-width:780px}.pending-po-table th,.task-table th{z-index:1;border-bottom:1px solid var(--color-border);color:#4b5563;text-align:left;white-space:nowrap;background:#f9fafb;padding:9px 12px;font-size:12px;font-weight:600;line-height:1.25;position:sticky;top:0}.pending-po-table td,.task-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:10px 12px;font-size:14px;line-height:1.35}.pending-po-table tbody tr,.task-table tbody tr{transition:background-color var(--transition-fast)}.pending-po-table tbody tr:hover,.task-table tbody tr:hover{background:var(--color-surface-hover)}.pending-po-table td:nth-child(4),.task-table td:nth-child(4){white-space:nowrap}.pending-po-table td:nth-child(6){text-align:right;font-variant-numeric:tabular-nums}.pending-po-table th:nth-child(6){text-align:right}.pending-po-table select{min-width:160px}.po-overview-table{gap:10px}.po-overview-row{border-radius:var(--radius-md);box-shadow:none;transition:border-color var(--transition-fast), background-color var(--transition-fast);padding:12px}.po-overview-row:hover{border-color:var(--color-border-strong);box-shadow:none;transform:none}.user-po-overview .po-overview-main{border-right:1px solid var(--color-border);background:var(--color-surface)}.po-overview-main{gap:4px}.po-overview-main strong{font-size:16px;font-weight:700}.po-progress-count{color:var(--color-text-secondary);font-size:12px;font-weight:600}.po-progress-track{background:var(--color-border);height:6px}.po-progress-step{background:var(--color-border-strong)}.po-progress-step.completed{background:var(--color-primary-dark)}.user-po-overview .po-step{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);box-shadow:none;transition:border-color var(--transition-fast), background-color var(--transition-fast);padding:10px}.user-po-overview .po-step:hover{border-color:var(--color-border-strong);background:var(--color-surface);box-shadow:none;transform:none}.user-po-overview .po-step-name{color:var(--color-text);font-size:13px;font-weight:600}.user-po-overview .po-step span,.user-po-overview .po-step-meta{color:var(--color-text-muted)}.po-step-edit,.po-step-history{border-top:1px solid var(--color-border);gap:8px}.po-step-history-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.po-step-status,.status-pill,.task-age{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600}.po-step-status.status-completed,.status-pill.status-completed,.task-age-fresh{color:var(--color-success);background:#f0fdf4}.po-step-status.status-ready,.task-card.status-ready .status-pill{color:var(--color-primary-dark);background:var(--color-primary-soft)}.po-step-status.status-scheduled,.task-age-warning{color:var(--color-warning);background:#fffbeb}.po-step-status.status-waiting,.status-pill,.task-age-unknown{color:var(--color-text-muted);background:var(--color-surface-hover)}.task-age-overdue{color:var(--color-error);background:#fef2f2}.task-complete-inline{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);padding:8px}.template-step,.internal-task-card,.admin-task-row,.task-card,.po-card,.create-task-box{background:var(--color-surface)}.task-card.status-ready{background:var(--color-primary-soft);border-color:#bbf7d0}.workflow-template-header{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-subtle);padding:10px 12px}.workflow-template-header:hover{border-color:var(--color-border-strong);box-shadow:none}.workflow-template-header span:last-child{width:24px;height:24px;color:var(--color-text-secondary);background:var(--color-surface-hover);font-size:16px}.template-step,.internal-task-card,.admin-task-row,.task-card,.po-card{padding:12px}.load-more-trigger{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface-subtle);padding:10px;animation:none}@keyframes supabaseFade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=760px){.app{width:calc(100% - 20px);margin:10px auto 20px}.topbar{border-radius:var(--radius-md);min-height:auto;position:static}.admin-shell,.user-shell{grid-template-columns:1fr}.sidebar{gap:4px;padding:5px;display:flex;position:static;overflow-x:auto}.sidebar button{min-width:max-content;border-bottom:2px solid #0000!important;border-left:0!important}.sidebar button.active{border-bottom-color:var(--color-primary-dark)!important}.panel,.login-panel,.po-panel,.pending-po-panel,.task-panel{padding:12px}.panel-header,.po-actions,.task-page-actions,.form-actions,.row-actions,.workflow-toolbar{flex-direction:column;align-items:stretch}.po-actions input,.po-actions select{width:100%;min-width:0}}
