.pdds-page .pdds-header-card{padding:0;overflow-x:auto}.pdds-page .pdds-formed-row{display:grid;grid-template-columns:340px 160px 1fr;align-items:center;font-weight:700;font-size:16px;background:#f3f3f3;border:1px solid #808080}.pdds-page .pdds-formed-label,.pdds-page .pdds-formed-date{border-right:1px solid #808080;padding:8px 12px}.pdds-page .pdds-formed-date{text-align:center}.pdds-page .pdds-block{overflow-x:auto}.pdds-page .pdds-table{width:100%;min-width:1600px;border-collapse:collapse;font-size:14px}.pdds-page .pdds-table th,.pdds-page .pdds-table td{border:1px solid #808080;padding:6px 8px;text-align:center;vertical-align:middle;background:#fff}.pdds-page .pdds-table thead th{background:#f3f3f3;font-weight:700;text-align:center;position:sticky;top:0;z-index:2}.pdds-page .pdds-week-head{min-width:110px;font-size:13px;line-height:1.3}.pdds-page .pdds-month-head{min-width:110px;font-size:18px;font-weight:700;background:#f3f3f3!important}.pdds-page .pdds-section-row td{background:#4f6f67!important;color:#fff!important;font-weight:700;font-size:16px;text-align:left}.pdds-page .pdds-group-row td{background:#7fa79b!important;color:#fff!important;font-weight:700;font-size:15px;text-align:left}.pdds-page .pdds-tech-row td{background:#e9dfb8!important}.pdds-page .pdds-add-row td{background:#fff!important;text-align:left;font-size:16px}.pdds-page .pdds-month-total{background:#7fa79b!important;color:#fff!important;font-weight:700}.pdds-page .pdds-month-value{background:#cfe8dc!important;font-weight:700}.pdds-page .pdds-month-plan{background:#f1d882!important;font-weight:700}.pdds-page .pdds-fact-cell{background:#dcead3!important}:root{font-family:Arial,Helvetica,sans-serif;color:#1f2937;background:#f3f4f6;line-height:1.4}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:#f3f4f6;color:#1f2937}body{font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cbd5e1;background:#fff;color:#111827;border-radius:8px;padding:8px 12px;transition:.15s ease}button:hover{background:#f8fafc}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:8px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:#94a3b8}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left;vertical-align:top}thead th{background:#f8fafc;font-weight:700}.login-wrapper{min-height:100vh;display:grid;place-items:center;background:#eef2ff;padding:20px}.login-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0 0 4px;text-align:center}.login-card p{margin:0;font-size:13px;color:#64748b}.error{color:#b42318;background:#fef3f2;padding:10px;border-radius:10px;font-size:13px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:64px;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:16px;padding:0 20px;background:#0f172a;color:#fff;border-bottom:1px solid #1e293b}.brand{font-size:18px;font-weight:700}.topnav{display:flex;gap:10px;align-items:center}.topnav button{background:transparent;color:#e2e8f0;border:1px solid transparent}.topnav button:hover{background:#ffffff14}.topnav button.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.userbox{display:flex;align-items:center;gap:12px}.userbox button{background:#fff;color:#111827}.userbox .logout-button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.userbox .logout-button:hover,.userbox .logout-button:focus-visible{background:#1d4ed8;color:#fff;border-color:#1d4ed8;box-shadow:0 4px 10px #1d4ed840}.userbox .logout-button:active{box-shadow:0 2px 4px #1d4ed833}.body-grid{flex:1;display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 64px);transition:grid-template-columns .2s ease}.app-shell.sidebar-collapsed .body-grid{grid-template-columns:56px 1fr}.sidebar{background:#fff;border-right:1px solid #e5e7eb;padding:16px;display:flex;flex-direction:column;gap:8px}.app-shell.sidebar-collapsed .sidebar{padding:12px 8px;align-items:center}.sidebar button.sidebar-toggle{align-self:flex-end;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;margin-bottom:4px}.sidebar button.sidebar-toggle:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff;box-shadow:0 4px 10px #1d4ed840;transform:translateY(-1px)}.sidebar button.sidebar-toggle:active{transform:translateY(0);box-shadow:0 2px 4px #1d4ed833}.sidebar button.sidebar-toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.sidebar button.sidebar-toggle svg{display:block;flex-shrink:0}.section-toggle-button{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.section-toggle-button:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff;box-shadow:0 4px 10px #1d4ed840;transform:translateY(-1px)}.section-toggle-button:active{transform:translateY(0);box-shadow:0 2px 4px #1d4ed833}.section-toggle-button:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.section-toggle-button svg{display:block;flex-shrink:0}.app-shell.sidebar-collapsed .sidebar button.sidebar-toggle{align-self:center}.sidebar button{text-align:left;justify-content:flex-start;background:#fff}.sidebar button.active{background:#e0ecff;border-color:#93c5fd;color:#1d4ed8;font-weight:700}.sidebar-divider{height:1px;width:100%;background:#dbe4f0;margin:8px 0 2px}.content{padding:20px;overflow:auto}.revenue-sheet-tabs button{background:#eef4ff;color:#1d2433}.revenue-sheet-tabs button.active{background:#0f3fae;color:#fff}.stack{display:flex;flex-direction:column;gap:16px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 1px 2px #0f172a0a}.card h1,.card h2,.card h3{margin-top:0;margin-bottom:12px}.section-card-title{margin-bottom:0;line-height:1.2}.row{display:flex;align-items:center}.gap{gap:12px}.wrap{flex-wrap:wrap}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.grid-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.contract-registry-form-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}.full-width{grid-column:1 / -1}.section-title{font-size:18px;font-weight:700;margin-bottom:10px}.group-title{font-weight:600;margin:10px 0;display:flex;justify-content:space-between;align-items:center}.btn-small{padding:4px 8px;font-size:12px}.tech-row{background:#f5f5f5;padding:10px;border-radius:8px}.month-picker{display:inline-flex;flex-direction:column;gap:6px}.month-picker-label{font-size:14px;font-weight:600}.month-picker-controls{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:4px}.month-picker-btn{width:32px;height:32px;padding:0;border-radius:8px;background:#f1f5f9;border:1px solid transparent;color:#0f172a;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.month-picker-btn:hover{background:#e0ecff;border-color:#93c5fd}.month-picker-current{min-width:140px;text-align:center;font-weight:600;font-size:14px;color:#0f172a}.costs-toolbar{align-items:flex-end}.costs-toolbar .month-picker,.costs-toolbar-field{flex:0 1 220px}.costs-toolbar .month-picker-controls,.costs-toolbar-field select,.costs-toolbar-button,.costs-toolbar>button{min-height:42px}.costs-toolbar .month-picker-controls{width:100%;justify-content:space-between}.costs-toolbar-button,.costs-toolbar>button{align-self:flex-end}.budget-toolbar{align-items:flex-end}.budget-status{color:#475467;font-size:13px;min-height:18px}.budget-row-section td{background:#f8fbff;font-weight:700}.budget-row-total td{background:#fbfdff}.budget-row-result td{background:#eef4ff;font-weight:700}.budget-cell-indent{color:#1f2937}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:auto}.registry-table-scroll{border:1px solid #e5e7eb;border-radius:12px;background:#fff;scrollbar-color:#94a3b8 #e2e8f0;scrollbar-width:thin}.registry-table-scroll::-webkit-scrollbar{height:12px}.registry-table-scroll::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}.registry-table-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px}.registry-table-scroll::-webkit-scrollbar-thumb:hover{background:#64748b}.contract-registry-table,.contract-month-table{width:max-content;min-width:100%}.contract-registry-table{border-collapse:separate;border-spacing:0}.contract-registry-table th,.contract-registry-table td,.contract-month-table th,.contract-month-table td{white-space:nowrap;text-align:center}.contract-registry-table th,.contract-registry-table td{border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;border-left:0;border-top:0;background-clip:padding-box}.contract-registry-table thead tr:first-child th{border-top:1px solid #e5e7eb}.contract-registry-table tr th:first-child,.contract-registry-table tr td:first-child{border-left:1px solid #e5e7eb}.contract-registry-table td:nth-child(2),.contract-registry-table td:nth-child(3),.contract-month-table .totals-cell,.contract-registry-table .totals-cell{font-weight:700}.contract-registry-table thead th,.contract-registry-table tbody td{background:#fff}.contract-registry-table thead th{background:#f8fafc;vertical-align:middle;text-align:center;position:relative;padding-top:8px;padding-bottom:8px;background-clip:padding-box}.contract-registry-table thead tr:nth-child(2) th{padding-top:6px;padding-bottom:6px;position:relative;z-index:1}.contract-registry-table thead tr:first-child th:nth-child(1),.contract-registry-table td:nth-child(1){position:sticky;left:0;min-width:60px;z-index:3;box-shadow:1px 0 #e5e7eb}.contract-registry-table thead tr:first-child th:nth-child(2),.contract-registry-table td:nth-child(2){position:sticky;left:60px;min-width:160px;z-index:3;box-shadow:1px 0 #e5e7eb}.contract-registry-table thead tr:first-child th:nth-child(3),.contract-registry-table td:nth-child(3){position:sticky;left:220px;min-width:220px;z-index:3;box-shadow:1px 0 #e5e7eb}.contract-registry-table thead tr:first-child th:nth-child(4),.contract-registry-table td:nth-child(4){position:sticky;left:440px;min-width:130px;z-index:3;box-shadow:1px 0 #e5e7eb}.contract-registry-table thead tr:first-child th:nth-child(5),.contract-registry-table td:nth-child(5){position:sticky;left:570px;min-width:120px;z-index:3;box-shadow:1px 0 #e5e7eb}.contract-registry-table thead tr:first-child th:nth-child(6),.contract-registry-table td:nth-child(6){position:sticky;left:690px;min-width:120px;z-index:3;box-shadow:1px 0 #e5e7eb}.contract-registry-table thead tr:first-child th:nth-child(7),.contract-registry-table td:nth-child(7){position:sticky;left:810px;min-width:150px;z-index:3;box-shadow:8px 0 12px -8px #0f172a2e}.contract-registry-table thead tr:first-child th:nth-child(8),.contract-registry-table td:nth-child(8){min-width:130px}.contract-registry-table thead tr:first-child th:nth-child(9),.contract-registry-table td:nth-child(9){min-width:140px}.contract-registry-table thead tr:first-child th:nth-child(10),.contract-registry-table td:nth-child(10){min-width:150px}.contract-registry-table thead tr:first-child th:nth-child(11),.contract-registry-table td:nth-child(11){min-width:110px}.contract-registry-table thead th:nth-child(-n+7){z-index:8}.contract-registry-table thead tr:first-child th:nth-child(-n+7){background:#f8fafc;z-index:12}.contract-registry-table thead tr:first-child th:nth-child(-n+7):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f8fafc;z-index:-1}.contract-registry-table thead tr:first-child th[rowspan="2"]{overflow:hidden}.contract-registry-table tbody td:nth-child(n+12){width:86px;min-width:86px;max-width:86px;border-right:0;box-shadow:inset -1px 0 #e5e7eb}.contract-month-group{font-size:12px;font-weight:600;line-height:1.15}.contract-month-subhead{font-size:12px;font-weight:700;line-height:1.15}.contract-year-total-group{padding:0}.contract-year-toggle{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#0f172a;font:inherit;font-weight:600;cursor:pointer}.contract-year-toggle:hover,.contract-year-toggle:focus-visible{background:#e2e8f0;outline:none}.contract-add-year-cell{min-width:92px;width:92px;background:#f8fafc}.contract-add-year-button{min-width:68px;white-space:nowrap}.contract-add-year-placeholder{background:#fff}.contract-month-table input{min-width:84px;width:84px}.contract-month-table th,.contract-month-table td{min-width:84px}.contract-month-table .contract-add-year-cell,.contract-month-table .contract-add-year-placeholder{min-width:92px;width:92px}@media (max-width: 1200px){.body-grid{grid-template-columns:220px 1fr}.grid-form{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 900px){.topbar{height:auto;grid-template-columns:1fr;padding:12px 16px}.body-grid{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid #e5e7eb}.grid-form,.contract-registry-form-grid{grid-template-columns:1fr}.costs-toolbar .month-picker,.costs-toolbar-field{flex-basis:100%}}
