:root{font-family:Arial,sans-serif;color:#252525;background:#f5f5f3}*{box-sizing:border-box}body{margin:0}
button,input,select{font:inherit}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.box,.card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:18px}.box{width:min(430px,100%)}.logo{width:280px;max-width:100%;display:block;margin:0 auto 22px}
label{display:block;font-size:12px;color:#666;margin:10px 0 5px}input,select{width:100%;padding:10px;border:1px solid #ccc;border-radius:7px}.btn{border:0;border-radius:7px;padding:10px 13px;background:#292929;color:#fff;cursor:pointer}.gold{background:#d9a20b;color:#1d1d1d;font-weight:bold}.light{background:#eee;color:#222}.danger{background:#f3dddd;color:#8a1d1d}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.side{background:#292929;color:#fff;padding:18px}.side img{background:#fff;padding:8px;border-radius:9px;width:100%}.nav button{display:block;width:100%;text-align:left;margin:5px 0;background:transparent;color:#ddd;border:0;padding:11px;border-radius:7px}.nav button:hover,.nav button.active{background:#414141}.main{padding:25px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.row>*{flex:1}.row button{flex:0 0 auto}.card{margin:14px 0}.card h2{font-size:15px;margin:0 0 12px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:8px 6px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}.num{text-align:right}.summary{background:#292929;color:#fff;border-radius:12px;padding:18px;align-self:start;position:sticky;top:15px}.sum{display:flex;justify-content:space-between;padding:7px 0}.total{border-top:1px solid #666;margin-top:8px;padding-top:13px;font-size:18px}.muted{color:#777}.notice{background:#fff4d4;color:#6d5300;padding:10px;border-radius:7px;margin-top:10px}.hidden{display:none!important}.status{font-size:12px;padding:6px 9px;border-radius:20px;background:#eee}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.saved-row{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}
@media(max-width:950px){.app{grid-template-columns:1fr}.side{position:static}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.grid{grid-template-columns:1fr}.summary{position:static}.fields{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.main{padding:12px}.fields{grid-template-columns:1fr}.saved-row{grid-template-columns:1fr}.row>*{flex-basis:100%}}
@media print{.side,.no-print,.internal{display:none!important}.app{display:block}.main{padding:0}.grid{grid-template-columns:1fr}.summary{background:#fff;color:#000;border:1px solid #aaa}}

.proposal-sheet{background:#fff;max-width:900px;margin:0 auto;padding:38px 44px;color:#222}
.proposal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #e5a900;padding-bottom:18px;margin-bottom:22px}
.proposal-logo{width:260px;max-height:80px;object-fit:contain;object-position:left center}
.proposal-title{text-align:right;font-size:22px;font-weight:800}.proposal-title small{display:block;font-size:11px;font-weight:400;color:#666;margin-top:5px}
.proposal-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;background:#f6f6f4;padding:16px 18px;border-radius:8px;margin-bottom:24px}
.proposal-meta div{display:flex;flex-direction:column}.proposal-meta span{font-size:10px;text-transform:uppercase;color:#777;letter-spacing:.05em}.proposal-meta strong{margin-top:3px}
.proposal-sheet h3{font-size:14px;margin:22px 0 8px}
.proposal-table{font-size:12px}.proposal-table th{background:#292929;color:#fff}.proposal-table td,.proposal-table th{padding:9px 8px}
.proposal-extras{margin:16px 0 0 auto;width:min(390px,100%)}.proposal-extras div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee;font-size:12px}
.proposal-total{margin:16px 0 0 auto;width:min(390px,100%);display:flex;justify-content:space-between;align-items:center;background:#292929;color:#fff;padding:15px 16px;border-radius:7px}.proposal-total span{font-size:11px}.proposal-total strong{font-size:19px}
.proposal-notes{margin-top:32px;border-top:1px solid #ddd;padding-top:10px;font-size:11px;color:#555;line-height:1.45}
.proposal-footer{margin-top:36px;text-align:center;font-size:10px;color:#666}
@media print{
 @page{size:A4;margin:12mm}
 body{background:#fff}
 #shell{display:block!important}
 .side,#budgetView,#savedView,#pricesView,#adminView{display:none!important}
 #proposalView{display:block!important}
 .main{padding:0!important}
 .proposal-sheet{max-width:none;padding:0}
 .proposal-header{break-inside:avoid}
 .proposal-table tr{break-inside:avoid}
}

#clientsView .fields{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:950px){#clientsView .fields{grid-template-columns:1fr 1fr}}
@media(max-width:600px){#clientsView .fields{grid-template-columns:1fr}}

.approval-actions{display:flex;gap:6px;flex-wrap:wrap}
#approvalsView table{min-width:900px}

.status-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.status-approved{background:#e8f5e9;color:#1b5e20}
.status-rejected{background:#ffebee;color:#b71c1c}
.status-pending{background:#fff3e0;color:#9a4f00}
.status-normal{background:#eef1f4;color:#46515c}

.approval-ok{background:#e8f5e9!important;color:#1b5e20!important;border-color:#a5d6a7!important}
.approval-no{background:#ffebee!important;color:#b71c1c!important;border-color:#ef9a9a!important}
