﻿.pad-quote-page{
    --pad-blue:#007DFF;
    --pad-blue-dark:#005FD1;
    --pad-sky:#EAF5FF;
    --pad-card:#FFFFFF;
    --pad-text:#0B1F3A;
    --pad-muted:#5B6B82;
    --pad-line:#D7E8FF;
    --pad-warning:#F5B400;
    margin:0;
    font-family:'Poppins',Arial,sans-serif;
    background:linear-gradient(180deg,#EAF5FF 0%,#F8FBFF 42%,#FFFFFF 100%);
    color:var(--pad-text);
    overflow-x:hidden;
}
.pad-quote-page *{box-sizing:border-box}
.pad-quote-page button,
.pad-quote-page input,
.pad-quote-page select{font:inherit}
.pad-quote-page .quote-app{min-height:100vh;padding:12px 14px 34px}
.pad-quote-page.has-layer-dock .quote-app{padding-bottom:108px}
.pad-quote-page .quote-topbar,
.pad-quote-page .hero-panel,
.pad-quote-page .control-panel,
.pad-quote-page .canvas-panel,
.pad-quote-page .estimate-panel{
    background:rgba(255,255,255,.98);
    border:1px solid var(--pad-line);
    box-shadow:0 15px 34px rgba(7,44,98,.09);
}
.pad-quote-page .quote-topbar{
    position:sticky;
    top:8px;
    z-index:30;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border-radius:18px;
    backdrop-filter:blur(14px);
}
.pad-quote-page .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#072C62;font-size:14px;font-weight:800}
.pad-quote-page .brand img{width:34px;height:34px;border-radius:50%;object-fit:contain;background:#fff}
.pad-quote-page .topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.pad-quote-page .primary-btn,
.pad-quote-page .ghost-btn,
.pad-quote-page .danger-btn{
    border:0;
    border-radius:999px;
    padding:9px 14px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
    white-space:nowrap;
}
.pad-quote-page .primary-btn{background:linear-gradient(180deg,#168BFF,#006FE8);color:#fff;box-shadow:0 10px 22px rgba(0,125,255,.24)}
.pad-quote-page .primary-btn:hover{background:var(--pad-blue-dark);transform:translateY(-1px)}
.pad-quote-page .ghost-btn{background:#F0F7FF;color:#075BB8;border:1px solid #CDE5FF}
.pad-quote-page .danger-btn{background:#FFECEF;color:#B42335;padding:6px 10px;font-size:10px}
.pad-quote-page .small{padding:8px 11px;font-size:12px}
.pad-quote-page button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.pad-quote-page .print-header{display:none}
.pad-quote-page .hero-panel{
    margin:12px 0;
    padding:14px;
    border-radius:22px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px;
    gap:14px;
    align-items:center;
    background:linear-gradient(135deg,#007DFF,#05A4FF);
    border:0;
    box-shadow:0 18px 38px rgba(0,125,255,.2);
}
.pad-quote-page .eyebrow{display:block;margin-bottom:4px;color:var(--pad-blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0}
.pad-quote-page .hero-panel .eyebrow{color:#DFF0FF}
.pad-quote-page h1{margin:0 0 6px;color:#fff;font-size:22px;line-height:1.18}
.pad-quote-page p{margin:0;color:rgba(255,255,255,.88);font-size:12px;line-height:1.55}
.pad-quote-page .upload-card,
.pad-quote-page .file-line{
    display:flex;
    flex-direction:column;
    gap:5px;
    border-radius:18px;
    padding:14px;
    background:rgba(255,255,255,.96);
    border:0;
    color:#0064CB;
    font-weight:800;
    text-align:center;
    cursor:pointer;
}
.pad-quote-page .file-line{border:1px dashed #90C8FF;background:#F3F9FF;border-radius:14px;padding:11px}
.pad-quote-page .upload-card input,
.pad-quote-page .file-line input{display:none}
.pad-quote-page .upload-card small{color:#60718A;font-size:10px;font-weight:600}
.pad-quote-page .workspace-grid{display:grid;grid-template-columns:285px minmax(430px,1fr) 310px;gap:12px;align-items:start}
.pad-quote-page .control-panel,
.pad-quote-page .canvas-panel,
.pad-quote-page .estimate-panel{border-radius:20px;padding:12px}
.pad-quote-page .control-panel,
.pad-quote-page .estimate-panel{max-height:calc(100vh - 136px);overflow:auto}
.pad-quote-page .panel-head,
.pad-quote-page .canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;margin-bottom:8px}
.pad-quote-page .panel-head span{color:#072C62;font-size:13px;font-weight:900}
.pad-quote-page .panel-head span::before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--pad-blue)}
.pad-quote-page .canvas-toolbar span{padding:6px 10px;border:1px solid var(--pad-line);border-radius:999px;background:#F1F7FF;color:var(--pad-muted);font-size:11px;font-weight:700}
.pad-quote-page label{display:flex;flex-direction:column;gap:5px;margin-bottom:9px;color:#1B3E6E;font-size:11px;font-weight:800}
.pad-quote-page select,
.pad-quote-page input[type='number'],
.pad-quote-page input[type='text']{
    width:100%;
    border:1px solid #CFE3FF;
    border-radius:13px;
    padding:10px 11px;
    background:#F9FCFF;
    color:#10233F;
    font-size:13px;
    outline:none;
}
.pad-quote-page select:focus,
.pad-quote-page input:focus{border-color:var(--pad-blue);box-shadow:0 0 0 4px rgba(0,125,255,.12)}
.pad-quote-page #signShape{font-weight:800}
.pad-quote-page .dimension-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pad-quote-page .tool-box{display:grid;gap:8px;margin:8px 0 14px;padding:12px;border:1px solid #D8EAFF;border-radius:18px;background:#F5FAFF}
.pad-quote-page .tool-box strong{color:#072C62;font-size:13px}
.pad-quote-page .tool-box span,
.pad-quote-page .tool-box small{color:#60718A;font-size:11px;line-height:1.45}
.pad-quote-page .button-stack{display:grid;grid-template-columns:1fr;gap:7px;margin:8px 0 12px}
.pad-quote-page .button-stack .primary-btn,
.pad-quote-page .button-stack .ghost-btn,
.pad-quote-page .tool-box .primary-btn{width:100%}
.pad-quote-page .size-note{margin-bottom:12px;padding:10px;border:1px solid #CAE3FF;border-radius:16px;background:#EAF5FF;color:#075BB8;font-size:11px;font-weight:700}
.pad-quote-page .size-note::before{content:"Rule: ";color:#072C62;font-weight:900}
.pad-quote-page .layer-list{display:grid;gap:8px;max-height:240px;overflow:auto;padding-right:3px}
.pad-quote-page .layer-item{padding:10px;border:1px solid #DFECFA;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(7,44,98,.05);cursor:pointer}
.pad-quote-page .layer-item.active{border-color:var(--pad-blue);box-shadow:0 0 0 3px rgba(0,125,255,.12)}
.pad-quote-page .layer-item strong{display:block;color:#072C62;font-size:12px}
.pad-quote-page .layer-item span{display:block;margin-top:3px;color:#65758B;font-size:10px}
.pad-quote-page .layer-actions{display:flex;gap:7px;margin-top:9px}
.pad-quote-page .canvas-panel{min-height:calc(100vh - 136px);display:flex;flex-direction:column}
.pad-quote-page .store-canvas{position:relative;flex:1;min-height:620px;overflow:hidden;border:1px solid #D3E8FF;border-radius:20px;background:#EAF5FF;display:flex;align-items:center;justify-content:center}
.pad-quote-page .empty-state{text-align:center;color:#60718A;display:grid;gap:4px}
.pad-quote-page .empty-state strong{color:#072C62;font-size:18px}
.pad-quote-page .empty-state span{font-size:12px}
.pad-quote-page #storePhoto{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;display:none;background:#EAF5FF;pointer-events:none}
.pad-quote-page #overlayArea{position:absolute;inset:0;z-index:4;pointer-events:auto}
.pad-quote-page .reference-block{position:absolute;inset:0;z-index:4;background:rgba(0,125,255,.08);border:2px dashed var(--pad-blue);pointer-events:none}
.pad-quote-page .reference-pin,
.pad-quote-page .sign-pin{position:absolute;width:18px;height:18px;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 14px rgba(15,23,42,.28);transform:translate(-50%,-50%);cursor:grab}
.pad-quote-page .reference-pin{z-index:12;background:var(--pad-blue)}
.pad-quote-page .sign-pin{z-index:14;background:#FFB800}
.pad-quote-page .mapped-sign{position:absolute;inset:0;z-index:7;width:100%;height:100%;overflow:hidden;background:transparent;border:0;box-shadow:none;cursor:move;pointer-events:auto}
.pad-quote-page .mapped-sign.active{outline:none;border:0}
.pad-quote-page .mapped-sign-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:auto}
.pad-quote-page .mapped-sign::after{content:"";position:absolute;inset:0;border:2px solid #FFB800;clip-path:inherit;pointer-events:none}
.pad-quote-page .mapped-sign.active::after{border-color:var(--pad-blue)}
.pad-quote-page .mapped-sign em{position:absolute;left:8px;top:8px;z-index:2;padding:3px 7px;border-radius:999px;background:var(--pad-blue);color:#fff;font-size:9px;font-style:normal}
.pad-quote-page .mapped-sign.circle em::after{content:" round"}
.pad-quote-page .mapped-sign-label{position:absolute;z-index:8;transform:translate(-50%,-50%);padding:5px 8px;border:1px solid #FFB800;border-radius:10px;background:rgba(255,255,255,.86);color:#0B2757;font-size:11px;font-weight:900;text-align:center;pointer-events:none}
.pad-quote-page .estimate-panel{position:sticky;top:88px}
.pad-quote-page .estimate-panel h2{margin:0 0 4px;color:#072C62;font-size:28px}
.pad-quote-page .estimate-panel p{margin:0 0 10px;color:#A16207;font-size:11px;font-weight:800}
.pad-quote-page .quote-lines{display:grid;gap:8px;margin:12px 0}
.pad-quote-page .quote-line{padding:10px;border:1px solid #DDEBFA;border-radius:16px;background:#fff}
.pad-quote-page .quote-line strong{display:flex;justify-content:space-between;gap:8px;color:#082C5D;font-size:12px}
.pad-quote-page .quote-line small{display:block;margin-top:4px;color:#637389;font-size:10px;line-height:1.45}
.pad-quote-page .used-assets{display:grid;gap:5px;margin:12px 0;padding:10px;border:1px solid #DDEBFA;border-radius:16px;background:#F7FBFF}
.pad-quote-page .used-assets strong{color:#082C5D;font-size:13px}
.pad-quote-page .asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;margin-top:8px}
.pad-quote-page .asset-card{display:grid;gap:6px;padding:6px;border:1px solid #DDEBFA;border-radius:14px;background:#fff}
.pad-quote-page .asset-card img,
.pad-quote-page .asset-card span{width:100%;aspect-ratio:1.4/1;border-radius:11px;background:#E8F2FF;object-fit:cover;display:grid;place-items:center;color:#64748B;font-size:10px;text-align:center;padding:4px}
.pad-quote-page .asset-card small{color:#53647B;font-size:9px;line-height:1.35}
.pad-quote-page .fineprint{padding-top:12px;border-top:1px solid #E4EEF8;color:#637389;font-size:10px;line-height:1.6}
.pad-quote-page .fineprint::before{content:"Minimum signage size: 2 ft x 2 ft. Round signage has an additional PHP 1,000 estimate fee. ";font-weight:800;color:#075BB8}
.pad-quote-page .layer-dock{position:fixed;left:50%;bottom:10px;z-index:60;width:min(94vw,820px);padding:9px;border:1px solid rgba(0,125,255,.16);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 18px 36px rgba(7,44,98,.18);backdrop-filter:blur(14px);transform:translateX(-50%)}
.pad-quote-page .layer-dock[hidden]{display:none!important}
.pad-quote-page .dock-track{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.pad-quote-page .dock-slot{position:relative;flex:0 0 68px;height:68px;display:grid;place-items:center;overflow:hidden;padding:5px;border:1px solid #D4E9FF;border-radius:16px;background:#F3F9FF;color:#0B1F3A;cursor:pointer}
.pad-quote-page .dock-slot.active{border-color:var(--pad-blue);box-shadow:0 0 0 3px rgba(0,125,255,.16)}
.pad-quote-page .dock-slot img,
.pad-quote-page .dock-slot span{width:100%;height:39px;border-radius:11px;background:#E8F2FF;object-fit:cover;color:#64748B;font-size:10px;display:grid;place-items:center;text-align:center}
.pad-quote-page .dock-slot b{position:absolute;left:4px;top:3px;z-index:2;padding:1px 5px;border-radius:7px;background:var(--pad-blue);color:#fff;font-size:9px}
.pad-quote-page .dock-slot small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#35506F;font-size:8px}
@media(max-width:1100px){
    .pad-quote-page .workspace-grid{grid-template-columns:1fr}
    .pad-quote-page .control-panel,
    .pad-quote-page .estimate-panel{max-height:none}
    .pad-quote-page .estimate-panel{position:static}
    .pad-quote-page .canvas-panel{min-height:auto}
    .pad-quote-page .store-canvas{min-height:480px}
    .pad-quote-page .hero-panel{grid-template-columns:1fr}
}
@media(max-width:680px){
    .pad-quote-page .quote-app{padding:8px 8px 34px}
    .pad-quote-page.has-layer-dock .quote-app{padding-bottom:102px}
    .pad-quote-page .quote-topbar{top:0;align-items:stretch;flex-direction:column;border-radius:14px}
    .pad-quote-page .topbar-actions{width:100%}
    .pad-quote-page .primary-btn,
    .pad-quote-page .ghost-btn{flex:1;padding:8px 10px}
    .pad-quote-page .hero-panel{border-radius:18px}
    .pad-quote-page h1{font-size:18px}
    .pad-quote-page .workspace-grid{gap:9px}
    .pad-quote-page .control-panel,
    .pad-quote-page .canvas-panel,
    .pad-quote-page .estimate-panel{border-radius:16px}
    .pad-quote-page .dimension-grid{grid-template-columns:1fr}
    .pad-quote-page .store-canvas{min-height:390px}
}
@media print{
    .pad-quote-page{background:#fff;color:#111827}
    .pad-quote-page .quote-app{padding:0}
    .pad-quote-page .quote-topbar,
    .pad-quote-page .hero-panel,
    .pad-quote-page .control-panel,
    .pad-quote-page .canvas-toolbar,
    .pad-quote-page .layer-dock{display:none!important}
    .pad-quote-page .print-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:0 0 12px;border-bottom:2px solid var(--pad-blue)}
    .pad-quote-page .print-brand{display:flex;align-items:center;gap:10px}
    .pad-quote-page .print-brand img{width:54px;height:54px;object-fit:contain}
    .pad-quote-page .print-brand strong{display:block;color:#072C62;font-size:18px}
    .pad-quote-page .print-brand span,
    .pad-quote-page .print-meta span{display:block;color:#475569;font-size:11px}
    .pad-quote-page .print-meta{text-align:right}
    .pad-quote-page .print-meta strong{color:#072C62;font-size:12px}
    .pad-quote-page .workspace-grid{display:block}
    .pad-quote-page .canvas-panel,
    .pad-quote-page .estimate-panel{margin-bottom:12px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#111827;box-shadow:none}
    .pad-quote-page .store-canvas{min-height:500px;border-radius:6px;background:#fff}
    .pad-quote-page .reference-block,
    .pad-quote-page .reference-pin,
    .pad-quote-page .sign-pin,
    .pad-quote-page .mapped-sign::after,
    .pad-quote-page .mapped-sign em,
    .pad-quote-page .mapped-sign-label{display:none!important}
    .pad-quote-page .mapped-sign{cursor:default;pointer-events:none}
    .pad-quote-page .mapped-sign-canvas{pointer-events:none}
    .pad-quote-page .estimate-panel h2{color:#072C62}
    .pad-quote-page .quote-line,
    .pad-quote-page .asset-card,
    .pad-quote-page .used-assets{background:#fff;color:#111827;border-color:#ddd}
    .pad-quote-page .quote-line strong,
    .pad-quote-page .used-assets strong{color:#111827}
    .pad-quote-page .asset-grid{grid-template-columns:repeat(4,1fr)}
    .pad-quote-page .asset-card{break-inside:avoid}
    .pad-quote-page .fineprint{color:#475569}
    .pad-quote-page .fineprint::before{color:#072C62}
}
