*{box-sizing:border-box}.advice-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.advice-heading h1{margin-bottom:8px}.advice-heading p,.advisory-page .muted{color:#64748b}.advice-badge{white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:20px;padding:8px 14px}.advice-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:20px;display:grid}.advice-plan-tree{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:calc(100vh - 180px);padding:16px;overflow:auto}.advice-plan-tree summary{cursor:pointer;overflow-wrap:anywhere;padding:12px 0;font-weight:600}.advice-plan-tree button{text-align:left;overflow-wrap:anywhere;width:100%;margin:5px 0;display:block}.advice-plan-tree button small{color:#64748b;margin-top:4px;display:block}.advice-plan-tree button.selected{color:#1e40af;background:#eff6ff;border-color:#2563eb}.advice-main{min-width:0}.advice-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;display:flex}.advice-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:20px}.advice-card h2{margin-top:0}.advice-card p,.advice-offline p{line-height:1.7}.advice-offline{color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-bottom:16px;padding:16px 20px}.advice-state-candidate{border-left:4px solid #2563eb}.advice-state-review{border-left:4px solid #d97706}.advice-table-scroll{overflow:auto}.advice-table{border-collapse:collapse;text-align:left;width:100%}.advice-table th,.advice-table td{border-bottom:1px solid #e2e8f0;padding:12px 10px}.advice-table th{font-weight:500}.advice-table small{color:#64748b;margin-top:6px;font-weight:400;display:inline-block}.advice-actions{gap:10px;margin-top:12px;display:flex}.advice-review{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}body{color:#1e293b;background:#f6f7f9;margin:0;font:14px -apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:#fff;border:1px solid #dbe1e9;border-radius:5px;padding:7px 12px}button:hover{background:#f1f5f9}button:disabled{cursor:default;opacity:.55}button.primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}input,select,textarea{min-width:0;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:8px}input:disabled{background:#f1f5f9}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #2563eb}label{flex-direction:column;gap:7px;display:flex}h1{margin:0 0 24px;font-size:23px;font-weight:600}h2{font-size:17px;font-weight:600}.account-controls{z-index:20;position:fixed;top:12px;right:16px}.sidebar-brand{align-items:center;height:50px;margin-bottom:14px;padding:0 6px;display:flex;overflow:hidden}aside.collapsed .sidebar-brand .logo{gap:0;font-size:0}.sidebar-brand svg{flex-shrink:0}.logo{color:#1d4ed8;align-items:center;gap:9px;font-size:21px;font-weight:700;display:inline-flex}.shell{height:100dvh;display:flex}aside{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;justify-content:space-between;width:208px;padding:14px 10px;display:flex}aside.collapsed{width:64px}nav{flex-direction:column;gap:7px;display:flex}nav button{text-align:left;white-space:nowrap;border:0;align-items:center;gap:13px;height:43px;display:flex}nav span{font-size:21px}nav .active{color:#1d4ed8;background:#eff6ff}.content{flex:1;min-width:0;padding:16px 28px 28px;overflow:auto}.card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:24px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.toolbar label{flex-direction:row;align-items:center}.spacer{flex:1}.calculator-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px;display:grid}.input-unit{align-items:center;gap:9px;display:flex}.input-unit input{width:100%}.actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.result{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:12px}.result strong{color:#1d4ed8;font-size:34px}.error,.danger{color:#dc2626}.success{color:#16a34a}.warning{color:#d97706}.muted{color:#94a3b8}.login{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:18px;width:380px;padding:32px;display:flex}.login-card h1{margin:10px 0}.overlay,.drawer-overlay{z-index:50;background:#0f172a55;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:9px;flex-direction:column;gap:16px;width:480px;max-height:90vh;padding:26px;display:flex;overflow:auto}.drawer-overlay{justify-content:flex-end}.drawer{background:#fff;width:480px;height:100%;padding:24px;overflow:auto}.drawer form{flex-direction:column;gap:15px;display:flex}.template-list{padding:0;list-style:none}.template-list li{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:10px;padding:12px 0;display:flex}.template-list button{border:0}.avatar-menu{position:relative}.menu{z-index:15;background:#fff;flex-direction:column;min-width:130px;padding:8px;display:flex;position:absolute;top:38px;right:0;box-shadow:0 3px 15px #0002}.planned{text-align:center;color:#64748b;margin:20vh auto}.planned span{font-size:48px}.planned h1{color:#334155;margin:16px}.plan-detail-heading{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.plan-detail-heading h2{overflow-wrap:anywhere;min-width:0;margin:0}.plan-detail-heading .tabs{border-bottom:0;flex-shrink:0;margin:0}.tabs{border-bottom:1px solid #e2e8f0;gap:20px;margin-bottom:20px;display:flex}.tabs button{border:0;border-radius:0;padding:12px 8px}.tabs .active{color:#1d4ed8;border-bottom:2px solid #1d4ed8}.standard-table{border-collapse:collapse;background:#fff;width:100%}.standard-table th,.standard-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:12px}.standard-table th{background:#f8fafc;font-weight:500}.standard-table tbody tr:hover{background:#f8fafc}.clickable{cursor:pointer}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.empty{text-align:center;color:#94a3b8;padding:70px}.workspace{gap:20px;display:flex}.plan-tree{background:#fff;border:1px solid #e2e8f0;flex-shrink:0;width:250px;max-height:calc(100vh - 170px);padding:14px;overflow:auto}.plan-tree input{width:100%}.plan-tree summary{cursor:pointer;overflow-wrap:anywhere;padding:15px 0;font-weight:600}.plan-tree button{text-align:left;text-overflow:ellipsis;white-space:nowrap;border:0;width:100%;display:block;overflow:hidden}.plan-tree .active{color:#1d4ed8;background:#eff6ff}.plan-detail{flex:1;min-width:0}.grid-wrap{background:#fff;border:1px solid #e2e8f0;min-height:250px;max-height:calc(100vh - 345px);position:relative;overflow:auto}.data-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.data-grid th,.data-grid td{white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;height:40px;padding:7px 9px;overflow:hidden}.data-grid.compact td{height:32px;padding:3px 8px}.data-grid th{z-index:3;text-align:left;background:#f1f5f9;font-weight:500;position:sticky;top:0}.data-grid td{background:#fff}.data-grid .frozen{z-index:2;position:sticky}.data-grid th.frozen{z-index:4}.data-grid .selected{background:#eff6ff}.data-grid .cell-selected{background:#dbeafe;box-shadow:inset 0 0 0 1px #2563eb}.data-grid input{border-radius:0;width:100%;padding:2px}.resize{cursor:col-resize;width:7px;position:absolute;top:0;bottom:0;right:0}.context-menu{z-index:30;background:#fff;border:1px solid #e2e8f0;flex-direction:column;display:flex;position:fixed;box-shadow:0 4px 16px #0002}.context-menu button{text-align:left;border:0}.filters{flex-wrap:wrap;align-items:end;gap:10px;font-size:12px;display:flex}.filters label{gap:4px}.filters input{width:115px}.filters select{max-width:145px}.record-filters{flex-wrap:nowrap;margin-bottom:8px;padding-bottom:8px;overflow-x:auto}.record-filters>*{flex-shrink:0}.pagination{align-items:center;gap:12px;padding:14px 0;display:flex}.column-config{z-index:10;background:#fff;border:1px solid #e2e8f0;padding:15px;position:absolute;box-shadow:0 4px 15px #0002}.column-config label{flex-direction:row;margin:7px}.audit-data{white-space:pre-wrap;word-break:break-all;max-width:400px;font-size:12px}@media (max-width:1300px){.content{padding:20px}.plan-tree{width:220px}.workspace{gap:12px}.card{padding:18px}}.hourly-grid{max-height:calc(100dvh - 260px);overflow:auto}.hourly-grid table{min-width:850px}.hourly-grid input{width:120px}.partial-day{color:#b45309}
