:root{--bg:#0f0f10;--panel:#1a1a1c;--panel2:#222226;--line:#3a3a3f;--text:#f5f5f5;--muted:#b8b8bd;--gold:#caa64b;--green:#2f855a;--red:#c94b4b;--blue:#3b82f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 Arial,Helvetica,sans-serif}.wrap{width:min(1500px,calc(100% - 30px));margin:auto}.top{background:#09090a;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.top-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:700}.brand img{width:56px;height:46px;object-fit:contain}.top nav{display:flex;gap:6px;flex-wrap:wrap}.top nav a{color:var(--muted);padding:10px 12px;border-radius:7px;text-decoration:none}.top nav a:hover,.top nav a.active{background:var(--panel2);color:#fff}.page{padding:24px 0 60px}.page-title,.section-head,.toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:18px}.page-title h1,h2{margin:0}.user-pill,.status,.margin{padding:5px 9px;border-radius:20px;background:var(--panel2);font-size:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}.table-card{padding:0;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #303035;vertical-align:top}th{color:var(--gold);font-size:13px}td small{display:block;color:var(--muted);margin-top:4px}.empty{text-align:center;color:var(--muted);padding:28px}.toolbar{position:relative}.toolbar.sticky{position:sticky;top:82px;z-index:15;background:rgba(15,15,16,.96);padding:10px;border:1px solid var(--line);border-radius:10px}.grow{flex:1}.search-row{display:flex;gap:8px;flex:1;max-width:720px}.btn,button{border:0;border-radius:7px;background:#303035;color:#fff;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn:hover{filter:brightness(1.12)}.btn.primary{background:var(--green)}.btn.gold{background:var(--gold);color:#151515}.btn.small{padding:7px 10px;font-size:12px}.btn.block{width:100%}.icon{width:34px;height:34px;padding:0;background:var(--red);font-size:20px}input,select,textarea{width:100%;background:#111114;color:#fff;border:1px solid #49494f;border-radius:7px;padding:10px;font:inherit}textarea{min-height:75px;resize:vertical}label{display:block;color:var(--muted);font-size:13px}label input,label select,label textarea{margin-top:5px;color:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}.span4{grid-column:span 4}.check{display:flex;gap:8px;align-items:center;color:#ddd}.check input{width:auto;margin:0}.flash{padding:13px 15px;border-radius:8px;margin-bottom:18px}.flash.success{background:#173d2b;border:1px solid var(--green)}.flash.error{background:#481f22;border:1px solid var(--red)}.catalog-search{position:relative;margin:15px 0}.catalog-search input{font-size:17px;padding:13px}.catalog-search #catalog-results{position:absolute;left:0;right:0;top:50px;background:#151518;border:1px solid var(--line);border-radius:8px;max-height:430px;overflow:auto;z-index:18}.catalog-result{display:block;width:100%;text-align:left;border-radius:0;border-bottom:1px solid #333;background:#18181b}.catalog-result strong,.catalog-result span{display:block}.catalog-result span{font-weight:normal;color:var(--muted);font-size:12px;margin-top:3px}.item-head,.item-main{display:grid;grid-template-columns:minmax(240px,2.7fr) 120px 80px 70px 110px 110px 110px 36px;gap:7px;align-items:center}.item-head{color:var(--gold);font-size:12px;padding:0 8px 7px}.quote-item{background:var(--panel2);border:1px solid #404047;border-radius:9px;padding:9px;margin-bottom:9px}.item-main input,.item-main select{padding:8px}.item-details{display:grid;grid-template-columns:2fr repeat(4,minmax(105px,1fr));gap:10px;margin-top:9px;padding-top:9px;border-top:1px dashed #494950}.item-details .wide{grid-column:span 2}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.summary-grid dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:14px 0 0}.summary-grid dt{color:var(--muted)}.summary-grid dd{margin:0;font-weight:700}.summary-grid .big{font-size:22px;color:var(--gold)}.margin.good{background:#19432d}.margin.bad{background:#552226}.margin.warn{background:#54451c}.condition-edit{margin-bottom:14px}.condition-edit textarea{min-height:120px}.login,.install{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card,.install .card{width:min(680px,100%)}.login-card{max-width:420px}.install-logo{display:block;width:130px;max-height:110px;object-fit:contain;margin:0 auto 15px}.login h1,.install h1{text-align:center}.login p,.install p{text-align:center;color:var(--muted)}@media(max-width:1100px){.form-grid.four{grid-template-columns:repeat(2,1fr)}.span4{grid-column:span 2}.item-head{display:none}.item-main{grid-template-columns:2fr 1fr 80px 70px 1fr 1fr 90px 36px}.item-details{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.top-inner,.page-title,.toolbar,.search-row{align-items:stretch;flex-direction:column}.top nav{display:grid;grid-template-columns:1fr 1fr}.form-grid,.form-grid.four,.summary-grid{grid-template-columns:1fr}.span2,.span4{grid-column:auto}.item-main{grid-template-columns:1fr 1fr}.item-main output{padding:10px}.item-details{grid-template-columns:1fr}.item-details .wide{grid-column:auto}}
.template-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.template-tools select{width:auto;min-width:220px}.version-list{margin-top:12px}.version-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #333}.version-row small{display:block;color:var(--muted);margin-top:3px}

/* Backoffice V6 */
:root{--warning:#d6a327;--danger:#c94b4b;--purple:#7c5ce7;--cyan:#2f9eaa}
.flash.warning{background:#4d3d13;border:1px solid var(--warning)}
.btn.warning{background:var(--warning);color:#151515}.btn.danger{background:var(--danger)}
.official-domain{background:#111;border:1px solid #3b3b40;border-radius:8px;padding:10px 12px;margin:12px 0;color:#d7d7db;text-align:center}.security-note{font-size:12px}.security-summary{background:#111114;border:1px solid #3f3f45;border-radius:9px;padding:14px}.security-summary p{margin:5px 0 0;color:var(--muted)}
.step-card{position:relative;overflow:visible}.step-title{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.step-title.compact{margin-bottom:0}.step-title>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:var(--gold);color:#161616;font-weight:800;font-size:17px}.step-title h2{margin:1px 0 3px}.step-title p{margin:0;color:var(--muted)}
.section-identity{border-left:5px solid var(--gold)}.section-client{border-left:5px solid var(--blue)}.section-work{border-left:5px solid var(--cyan)}.section-services{border-left:5px solid var(--purple)}.section-values{border-left:5px solid var(--green)}.section-submit{border-left:5px solid var(--warning)}.section-approval{border-left:5px solid #e0c35e}
.quote-toolbar .quote-state{display:flex;align-items:center;gap:8px}.quote-toolbar .quote-state small{color:var(--muted)}
.item-details-wrap{margin-top:9px;border-top:1px dashed #494950;padding-top:7px}.item-details-wrap summary{cursor:pointer;color:var(--gold);font-size:12px;font-weight:700;padding:4px 0}.item-main.no-cost,.item-head.no-cost{grid-template-columns:minmax(240px,2.7fr) 120px 80px 70px 110px 110px 36px}
.summary-panel{background:#111114;border:1px solid #38383e;border-radius:10px;padding:17px}.summary-panel.internal{border-color:#4f4932}.summary-panel h3{margin:0}.summary-panel dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:14px 0 0}.summary-panel dt{color:var(--muted)}.summary-panel dd{margin:0;font-weight:700}.summary-panel .big{font-size:22px;color:var(--gold)}
.button-row,.inline-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.workflow-buttons{margin-top:15px}.delete-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}.danger-zone{border:1px solid #673034;background:#251618}
.approval-status-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.approved-box{background:#173d2b;border:1px solid var(--green);border-radius:9px;padding:14px}.approved-box strong,.approved-box span{display:block}.approved-box span{color:var(--muted);font-size:12px;margin-top:4px}.approved-box p{margin:8px 0 0}
.dashboard-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:18px}.dashboard-grid.small{grid-template-columns:repeat(6,minmax(140px,1fr))}.metric-card{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:17px;color:#fff;text-decoration:none}.metric-card:hover{border-color:var(--gold)}.metric-card.warning{border-color:#6b5722}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{font-size:23px;color:var(--gold)}
.embedded-table{margin:0;border:1px solid #34343a;border-radius:9px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.activity-list{display:flex;flex-direction:column}.activity-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #333;color:#fff;text-decoration:none}.activity-row:hover{background:#202024}.activity-row.static:hover{background:transparent}.activity-row strong,.activity-row span{display:block}.activity-row span{font-size:12px;color:var(--muted);margin-top:3px}.activity-row time{font-size:12px;color:var(--muted);white-space:nowrap}
.profile-header{display:flex;justify-content:space-between;align-items:center}.profile-header p{color:var(--muted);margin-bottom:0}.profile-status{display:flex;gap:8px}.filter-grid{display:grid;grid-template-columns:1.4fr 1.4fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.audit-json,details pre{white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;background:#101012;border:1px solid #333;padding:9px;border-radius:7px;font:12px/1.4 monospace}.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.diff-grid h4{margin:8px 0}
.approval-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.approval-card{background:#151518;border:1px solid #3d3d43;border-radius:11px;padding:16px}.approval-card-head{display:flex;justify-content:space-between;gap:12px}.approval-card-head strong,.approval-card-head span{display:block}.approval-card-head>div>span{color:var(--muted);font-size:12px;margin-top:3px}.approval-card dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0}.approval-card dt{color:var(--muted)}.approval-card dd{margin:0;font-weight:700}.approval-note{background:#24241e;border:1px solid #4c472c;border-radius:7px;padding:10px}.approval-actions{display:flex;gap:8px;margin:12px 0}.approval-decision textarea{min-height:78px}.empty-state{padding:28px;text-align:center;color:var(--muted);border:1px dashed #444;border-radius:10px}
.status.pending,.status.review{background:#54451c}.status.approved,.status.accepted{background:#19432d}.status.sent{background:#19405c}.status.rejected,.status.changes_requested,.status.invalidated{background:#552226}.status.archived{background:#33343a}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#111;padding:2px 5px;border-radius:4px}.compact-fields{margin-bottom:16px}
.approval-seal{border:2px solid #2f855a;padding:12px;margin:16px 0;display:flex;justify-content:space-between;gap:14px}.approval-seal span{color:#555}

@media(max-width:1250px){.dashboard-grid,.dashboard-grid.small{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(3,1fr)}.approval-grid{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}}
@media(max-width:900px){.approval-status-panel{grid-template-columns:1fr}.delete-form{grid-template-columns:1fr}.item-main.no-cost{grid-template-columns:2fr 1fr 80px 70px 1fr 1fr 36px}.dashboard-grid,.dashboard-grid.small{grid-template-columns:repeat(2,1fr)}.diff-grid{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-grid,.dashboard-grid.small,.filter-grid{grid-template-columns:1fr}.step-title{align-items:center}.step-title>span{flex-basis:32px;height:32px}.approval-card-head,.profile-header{align-items:flex-start;flex-direction:column}.button-row .btn,.approval-actions .btn{width:100%}.item-main.no-cost{grid-template-columns:1fr 1fr}}


/* =========================================================
   CASA INCRÍVEL — INTERFACE RESPONSIVA INSTITUCIONAL V7
   Telemóvel, tablet, portátil e ecrã de secretária
   ========================================================= */
:root{
    --wrap-max:1540px;
    --touch:44px;
    --radius-lg:16px;
    --shadow-soft:0 12px 34px rgba(0,0,0,.22);
}
html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-behavior:smooth;
}
body{
    min-width:0;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 12% -10%,rgba(202,166,75,.08),transparent 28rem),
        var(--bg);
}
img,svg{max-width:100%}
.wrap{
    width:min(var(--wrap-max),calc(100% - 36px));
    min-width:0;
}
.top{
    padding-top:env(safe-area-inset-top);
    background:rgba(9,9,10,.96);
    box-shadow:0 6px 22px rgba(0,0,0,.22);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
}
.top-inner{gap:18px;min-width:0}
.brand{min-width:0}
.brand span{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.top nav a{
    min-height:var(--touch);
    display:flex;
    align-items:center;
}
.nav-toggle{
    display:none;
    min-height:var(--touch);
    gap:9px;
    align-items:center;
    background:#242428;
    border:1px solid #414148;
}
.nav-toggle-lines{display:grid;gap:4px;width:19px}
.nav-toggle-lines i{
    display:block;
    height:2px;
    border-radius:2px;
    background:#fff;
    transition:transform .18s ease,opacity .18s ease;
}
.nav-toggle.open .nav-toggle-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.open .nav-toggle-lines i:nth-child(2){opacity:0}
.nav-toggle.open .nav-toggle-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-toggle-label{font-size:13px}
.page{padding:clamp(18px,2.3vw,32px) 0 max(64px,env(safe-area-inset-bottom))}
.page-title{min-width:0}
.page-title h1{
    font-size:clamp(1.55rem,2.2vw,2.25rem);
    line-height:1.15;
    overflow-wrap:anywhere;
}
.card{
    border-radius:var(--radius-lg);
    padding:clamp(16px,2vw,24px);
    box-shadow:var(--shadow-soft);
}
.step-card{
    scroll-margin-top:150px;
    background:linear-gradient(145deg,rgba(29,29,32,.98),rgba(24,24,27,.98));
}
.step-title{min-width:0}
.step-title h2{font-size:clamp(1.13rem,1.65vw,1.45rem)}
.step-title p{max-width:75ch}
input,select,textarea,.btn,button{
    min-height:var(--touch);
}
input,select,textarea{
    min-width:0;
}
.btn,button{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
}
.table-card{
    max-width:100%;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
}
.table-card table{min-width:780px}
.mobile-label{display:none}
.item-main,
.item-main.no-cost{
    align-items:stretch;
}
.item-main{
    grid-template-columns:minmax(240px,2.7fr) 120px 80px 70px 110px 110px 110px 42px;
}
.item-main.no-cost{
    grid-template-columns:minmax(240px,2.7fr) 120px 80px 70px 110px 110px 42px;
}
.item-cell{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    margin:0;
}
.item-cell input,
.item-cell select{margin:0}
.item-total{
    justify-content:center;
    min-height:var(--touch);
    padding:7px 8px;
    border-radius:7px;
    background:#17171a;
    border:1px solid #3f3f45;
    font-weight:800;
    text-align:right;
}
.item-total output{display:block}
.item-remove{align-items:center}
.quote-item{
    position:relative;
    border-radius:12px;
    padding:11px;
}
.toolbar.sticky{
    max-width:100%;
    box-shadow:0 9px 24px rgba(0,0,0,.24);
}
.dashboard-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
}
.metric-card{min-width:0}
.metric-card strong{overflow-wrap:anywhere}
.two-column,.approval-status-panel,.summary-grid{min-width:0}
.activity-row{min-width:0}
.activity-row>div{min-width:0}
.activity-row strong,.activity-row span{overflow-wrap:anywhere}
.catalog-search #catalog-results{
    box-shadow:0 18px 38px rgba(0,0,0,.42);
}
.login-card{
    box-shadow:0 24px 70px rgba(0,0,0,.45);
}
.button-row .btn,.inline-actions .btn{min-height:var(--touch)}
.version-row{gap:14px}
code{overflow-wrap:anywhere}

@media (max-width:1280px){
    .dashboard-grid,.dashboard-grid.small{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
    .span4{grid-column:span 2}
    .two-column{grid-template-columns:1fr}
    .item-head{display:none}
    .item-main,
    .item-main.no-cost{
        grid-template-columns:minmax(0,2fr) minmax(130px,1fr) repeat(2,minmax(84px,.65fr));
    }
    .item-name{grid-column:span 2}
    .item-details{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mobile-label{
        display:block;
        margin:0 0 5px;
        color:var(--muted);
        font-size:11px;
        font-weight:700;
        letter-spacing:.02em;
    }
    .item-total{text-align:left}
}

@media (max-width:980px){
    .wrap{width:min(100% - 24px,var(--wrap-max))}
    .top-inner{
        min-height:66px;
        flex-wrap:wrap;
        padding:8px 0;
    }
    .brand{flex:1}
    .brand img{width:48px;height:40px}
    .brand span{font-size:14px}
    .nav-toggle{display:inline-flex}
    .top nav{
        display:none;
        order:10;
        width:100%;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
        padding:5px 0 9px;
    }
    .top nav.open{display:grid}
    .top nav a{
        justify-content:center;
        text-align:center;
        border:1px solid #343439;
        background:#171719;
    }
    .top nav .nav-logout{
        color:#ffd2d2;
        border-color:#5b2d31;
    }
    .page-title{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .user-pill{max-width:100%;overflow-wrap:anywhere}
    .toolbar:not(.quote-toolbar),
    .section-head{
        align-items:stretch;
        flex-direction:column;
    }
    .search-row{max-width:none;width:100%}
    .approval-status-panel{grid-template-columns:1fr}
    .profile-header{align-items:flex-start;gap:12px;flex-direction:column}
}

@media (max-width:760px){
    :root{--touch:46px}
    .wrap{width:min(100% - 18px,var(--wrap-max))}
    body{font-size:14px}
    .page{padding-top:14px}
    .card{
        padding:15px;
        margin-bottom:13px;
        border-radius:13px;
    }
    .step-card{
        border-left-width:4px;
    }
    .step-title{gap:10px;margin-bottom:14px}
    .step-title>span{
        flex-basis:34px;
        height:34px;
        font-size:15px;
    }
    .step-title p{font-size:12px}
    .form-grid,.form-grid.four,.summary-grid{
        grid-template-columns:1fr;
        gap:12px;
    }
    .span2,.span4{grid-column:auto}
    input,select,textarea{
        font-size:16px;
        padding:11px 12px;
    }
    textarea{min-height:92px}
    .toolbar.sticky.quote-toolbar{
        top:74px;
        display:flex;
        align-items:center;
        flex-direction:row;
        flex-wrap:nowrap;
        gap:8px;
        margin:0 0 14px;
        padding:8px;
        overflow-x:auto;
        scrollbar-width:thin;
        -webkit-overflow-scrolling:touch;
    }
    .quote-toolbar .grow{display:none}
    .quote-toolbar .btn,
    .quote-toolbar .quote-state{
        flex:0 0 auto;
        white-space:nowrap;
    }
    .quote-toolbar .quote-state{
        padding:0 4px;
    }
    .template-tools{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }
    .template-tools select{
        grid-column:1/-1;
        width:100%;
        min-width:0;
    }
    .catalog-search input{font-size:16px}
    .catalog-search #catalog-results{
        max-height:min(56vh,430px);
    }
    .item-main,
    .item-main.no-cost{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .item-name{grid-column:1/-1}
    .item-total{justify-content:center}
    .item-details{grid-template-columns:1fr}
    .item-details .wide{grid-column:auto}
    .item-details-wrap summary{
        min-height:42px;
        display:flex;
        align-items:center;
    }
    .summary-panel{padding:14px}
    .summary-panel dl{gap:9px}
    .button-row,.inline-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }
    .button-row .btn,.inline-actions .btn{width:100%}
    .delete-form{grid-template-columns:1fr}
    .dashboard-grid,.dashboard-grid.small{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }
    .metric-card{padding:13px}
    .metric-card strong{font-size:20px}
    .version-row{
        align-items:stretch;
        flex-direction:column;
    }
    .version-row .btn{width:100%}

    /* Tabelas passam a cartões legíveis no telemóvel */
    .table-card{
        padding:0;
        overflow:visible;
        background:transparent;
        border:0;
    }
    .table-card table.responsive-table{
        display:block;
        min-width:0;
        width:100%;
    }
    .table-card table.responsive-table thead{display:none}
    .table-card table.responsive-table tbody{display:grid;gap:12px}
    .table-card table.responsive-table tr{
        display:block;
        overflow:hidden;
        border:1px solid var(--line);
        border-radius:12px;
        background:var(--panel2);
        box-shadow:0 8px 22px rgba(0,0,0,.18);
    }
    .table-card table.responsive-table td{
        display:grid;
        grid-template-columns:minmax(105px,38%) minmax(0,1fr);
        align-items:start;
        gap:10px;
        width:100%;
        padding:10px 12px;
        border-bottom:1px solid #38383d;
        overflow-wrap:anywhere;
    }
    .table-card table.responsive-table td:last-child{border-bottom:0}
    .table-card table.responsive-table td::before{
        content:attr(data-label);
        color:var(--gold);
        font-size:11px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.035em;
    }
    .table-card table.responsive-table td[colspan]{
        display:block;
    }
    .table-card table.responsive-table td[colspan]::before{display:none}
    .table-card table.responsive-table td .btn{
        width:100%;
    }
    .activity-row{
        align-items:flex-start;
        flex-direction:column;
    }
    .activity-row time{white-space:normal}
}

@media (max-width:480px){
    .wrap{width:min(100% - 12px,var(--wrap-max))}
    .top-inner{min-height:62px}
    .brand img{width:42px;height:36px}
    .brand span{max-width:145px}
    .nav-toggle{padding:9px 11px}
    .nav-toggle-label{display:none}
    .top nav{grid-template-columns:1fr 1fr}
    .page-title h1{font-size:1.45rem}
    .card{padding:13px}
    .item-main,
    .item-main.no-cost{
        grid-template-columns:1fr;
    }
    .item-name{grid-column:auto}
    .item-remove{
        position:absolute;
        top:8px;
        right:8px;
        width:38px;
    }
    .item-name{padding-right:42px}
    .item-total{min-height:52px}
    .template-tools{grid-template-columns:1fr}
    .template-tools select{grid-column:auto}
    .dashboard-grid,.dashboard-grid.small{grid-template-columns:1fr 1fr}
    .metric-card span{font-size:11px}
    .table-card table.responsive-table td{
        grid-template-columns:1fr;
        gap:4px;
    }
    .table-card table.responsive-table td::before{
        margin-bottom:2px;
    }
    .login,.install{padding:12px}
    .login-card{padding:18px}
}

@media (orientation:landscape) and (max-height:560px) and (max-width:980px){
    .top{position:relative}
    .toolbar.sticky.quote-toolbar{top:8px}
    .catalog-search #catalog-results{max-height:52vh}
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}
