:root{--primary-green:#08a64d;--primary-green-hover:#06883e;--dark-navy:#03258c;--dark-navy-hover:#021a66;--soft-green:#e9f8ef;--soft-green-border:#bcf0d0;--gold-accent:#bf9f63;--light-gray:#f7f8fa;--border-gray:#e5e7eb;--text-dark:#1f2937;--text-muted:#6b7280;--text-light:#9ca3af;--white:#fff;--status-wait-bg:#fef3c7;--status-wait-text:#d97706;--status-wait-border:#fcd34d;--status-pr-bg:#e0f2fe;--status-pr-text:#0284c7;--status-pr-border:#7dd3fc;--status-po-bg:#e9f8ef;--status-po-text:#08a64d;--status-po-border:#86efac;--status-complete-bg:#f3e8ff;--status-complete-text:#7e22ce;--status-complete-border:#d8b4fe;--alert-red-bg:#fee2e2;--alert-red-text:#dc2626;--alert-red-border:#fca5a5;--font-family:"Noto Sans Thai", "Sarabun", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #03258c0f, 0 2px 4px -1px #03258c0a;--shadow-lg:0 10px 15px -3px #03258c14, 0 4px 6px -2px #03258c0a;--shadow-xl:0 20px 25px -5px #03258c1a, 0 10px 10px -5px #03258c0a;--shadow-glow:0 0 20px #08a64d33;--transition-fast:all .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--light-gray);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:2rem 1.5rem 4rem}.saas-header{background:linear-gradient(135deg, var(--dark-navy) 0%, #011657 100%);color:var(--white);box-shadow:var(--shadow-md);z-index:100;border-bottom:3px solid var(--gold-accent);padding:1rem 1.5rem;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1440px;margin:0 auto;display:flex}.brand-logo{letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1.35rem;font-weight:800;display:flex}.brand-icon-wrapper{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;justify-content:center;align-items:center;padding:.5rem;display:flex}.brand-title-badge{background:var(--primary-green);color:var(--white);text-transform:uppercase;letter-spacing:.05em;border-radius:20px;margin-left:.5rem;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.header-actions{align-items:center;gap:.75rem;display:flex}.nav-tabs{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-gray);gap:.25rem;margin-bottom:2rem;padding:.4rem;display:flex;overflow-x:auto}.nav-tab-btn{color:var(--text-muted);font-size:.95rem;font-weight:700;font-family:var(--font-family);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.5rem;padding:.65rem 1.2rem;display:flex}.nav-tab-btn:hover{color:var(--dark-navy);background:var(--soft-green)}.nav-tab-btn.active{background:var(--dark-navy);color:var(--white);box-shadow:var(--shadow-sm)}.nav-tab-btn.active .tab-badge{background:var(--primary-green);color:var(--white)}.tab-badge{background:var(--light-gray);color:var(--text-dark);transition:var(--transition-fast);border-radius:12px;padding:.15rem .5rem;font-size:.75rem;font-weight:800}.saas-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-gray);transition:var(--transition-smooth);padding:1.5rem;position:relative;overflow:hidden}.saas-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.saas-card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.saas-card-title{color:var(--dark-navy);align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;display:flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.metric-card{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border-gray);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex;position:relative;overflow:hidden}.metric-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.metric-card:before{content:"";background:var(--metric-color,var(--primary-green));width:100%;height:4px;position:absolute;top:0;left:0}.metric-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;font-weight:700}.metric-icon-box{border-radius:var(--radius-sm);background:var(--metric-bg,var(--soft-green));width:40px;height:40px;color:var(--metric-color,var(--primary-green));justify-content:center;align-items:center;display:flex}.metric-value{color:var(--dark-navy);letter-spacing:-.02em;font-size:1.85rem;font-weight:900;line-height:1.1}.metric-subtext{color:var(--text-muted);align-items:center;gap:.35rem;margin-top:.35rem;font-size:.8rem;display:flex}.badge{white-space:nowrap;border:1px solid #0000;border-radius:20px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.8rem;font-weight:800;line-height:1.4;display:inline-flex}.badge-wait{background:var(--status-wait-bg);color:var(--status-wait-text);border-color:var(--status-wait-border)}.badge-pr{background:var(--status-pr-bg);color:var(--status-pr-text);border-color:var(--status-pr-border)}.badge-po{background:var(--status-po-bg);color:var(--status-po-text);border-color:var(--status-po-border)}.badge-complete{background:var(--status-complete-bg);color:var(--status-complete-text);border-color:var(--status-complete-border)}.badge-danger{background:var(--alert-red-bg);color:var(--alert-red-text);border-color:var(--alert-red-border)}.btn{border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;font-family:var(--font-family);cursor:pointer;transition:var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;display:inline-flex}.btn-primary{background:var(--primary-green);color:var(--white);box-shadow:0 4px 10px #08a64d40}.btn-primary:hover{background:var(--primary-green-hover);transform:translateY(-1px);box-shadow:0 6px 15px #08a64d59}.btn-navy{background:var(--dark-navy);color:var(--white)}.btn-navy:hover{background:var(--dark-navy-hover);transform:translateY(-1px)}.btn-outline{background:var(--white);border-color:var(--border-gray);color:var(--text-dark)}.btn-outline:hover{background:var(--soft-green);border-color:var(--soft-green-border);color:var(--primary-green)}.btn-gold{background:var(--gold-accent);color:var(--white)}.btn-gold:hover{background:#a9884e}.table-responsive{border-radius:var(--radius-md);border:1px solid var(--border-gray);background:var(--white);width:100%;overflow-x:auto}.saas-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.saas-table th{background:var(--light-gray);color:var(--dark-navy);border-bottom:2px solid var(--border-gray);white-space:nowrap;padding:.9rem 1rem;font-weight:800}.saas-table td{border-bottom:1px solid var(--border-gray);color:var(--text-dark);vertical-align:middle;padding:.85rem 1rem}.saas-table tbody tr{transition:var(--transition-fast)}.saas-table tbody tr:hover{background-color:var(--soft-green)}.saas-table tr.highlight-danger{background-color:#fee2e24d}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#03258c66;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-gray);animation:.3s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-gray);background:linear-gradient(to right, var(--soft-green), var(--white));justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{color:var(--dark-navy);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:800;display:flex}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-gray);background:var(--light-gray);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.form-group{margin-bottom:1.15rem}.form-label{color:var(--text-dark);margin-bottom:.35rem;font-size:.85rem;font-weight:700;display:block}.form-control{border:1px solid var(--border-gray);border-radius:var(--radius-sm);width:100%;font-family:var(--font-family);color:var(--text-dark);transition:var(--transition-fast);padding:.65rem .9rem;font-size:.95rem}.form-control:focus{border-color:var(--primary-green);outline:none;box-shadow:0 0 0 3px #08a64d26}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.dropzone{border:2px dashed var(--primary-green);background:var(--soft-green);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:var(--transition-smooth);padding:2.5rem 1.5rem}.dropzone:hover{border-color:var(--primary-green-hover);background:#d5f2e0;transform:scale(1.01)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.grid-2{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}@media (width<=1024px){.grid-2,.grid-3{grid-template-columns:1fr}}.flex-between{justify-content:space-between;align-items:center;display:flex}.text-bold{font-weight:800}.text-navy{color:var(--dark-navy)}.text-green{color:var(--primary-green)}[data-theme=dark]{--light-gray:#0f172a;--border-gray:#334155;--text-dark:#f8fafc;--text-muted:#94a3b8;--text-light:#64748b;--white:#1e293b;--dark-navy:#38bdf8}[data-theme=dark] body{color:#f8fafc;background-color:#0f172a}[data-theme=dark] .saas-card{color:#f8fafc;background:#1e293b;border-color:#334155;box-shadow:0 10px 25px -5px #0006}[data-theme=dark] .saas-card-title span{color:#38bdf8!important}[data-theme=dark] .nav-tabs{background:#1e293b;border-bottom-color:#334155}[data-theme=dark] .nav-tab-btn{color:#94a3b8}[data-theme=dark] .nav-tab-btn.active{color:#38bdf8;background:#0f172a;border-color:#38bdf8}[data-theme=dark] .saas-table th{color:#94a3b8;background-color:#0f172a;border-bottom-color:#334155}[data-theme=dark] .saas-table td{color:#e2e8f0;border-bottom-color:#334155}[data-theme=dark] .saas-table tr:hover td{background-color:#334155}[data-theme=dark] .modal-content{color:#f8fafc;background-color:#1e293b;border-color:#334155}[data-theme=dark] .form-input,[data-theme=dark] .form-select,[data-theme=dark] .pagination-btn{color:#f8fafc;background-color:#0f172a;border-color:#334155}[data-theme=dark] .pagination-btn:hover{background-color:#334155}[data-theme=dark] .metric-card{background:#1e293b;border-color:#334155}[data-theme=dark] .metric-title{color:#94a3b8}
