:root{
  --gold:#b99356; --gold-dark:#96753d; --champagne:#e8d5b0; --champagne-soft:#f3e9d6;
  --beige:#f5eee3; --cream:#faf7f2; --ink:#3b3226; --muted:#8a7b66; --line:#eadfcb;
  --bs-primary:#b99356; --bs-primary-rgb:185,147,86;
  --bs-link-color:#96753d; --bs-link-hover-color:#7a5f30;
  --bs-body-font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bs-body-color:#3b3226; --bs-body-bg:#faf7f2;
  --bs-border-color:#eadfcb;
  --bs-focus-ring-color:rgba(185,147,86,.25);
}
body{background:var(--cream);color:var(--ink);font-size:.92rem}
h1,h2,h3,h4,h5,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:.2px}
a{text-decoration:none}
.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(185,147,86,.2)}
.form-check-input:checked{background-color:var(--gold);border-color:var(--gold)}
.form-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:.25rem}
.btn-primary{--bs-btn-bg:#b99356;--bs-btn-border-color:#b99356;--bs-btn-color:#fff;--bs-btn-hover-bg:#a58146;--bs-btn-hover-border-color:#a58146;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#96753d;--bs-btn-active-border-color:#96753d;--bs-btn-active-color:#fff;--bs-btn-disabled-bg:#b99356;--bs-btn-disabled-border-color:#b99356}
.btn-outline-primary{--bs-btn-color:#96753d;--bs-btn-border-color:#c9ab76;--bs-btn-hover-bg:#b99356;--bs-btn-hover-border-color:#b99356;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#96753d;--bs-btn-active-border-color:#96753d}
.text-gold{color:var(--gold-dark)!important}
.bg-beige{background:var(--beige)!important}

/* Layout */
.app-shell{display:flex;min-height:100vh}
.sidebar{width:260px;background:linear-gradient(180deg,#fffdf9 0%,#f6efe3 100%);border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0}
@media(min-width:992px){.sidebar{position:sticky;top:0;height:100vh;visibility:visible!important;transform:none!important}}
.sidebar-brand{display:flex;align-items:center;gap:.8rem;padding:1.4rem 1.2rem 1.1rem;border-bottom:1px solid var(--line)}
.brand-mark{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#e8d5b0,#b99356);display:grid;place-items:center;color:#fff;font-size:1.2rem;box-shadow:0 4px 12px rgba(185,147,86,.35)}
.brand-name{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:700;line-height:1;color:var(--ink)}
.brand-sub{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.sidebar-nav{padding:1rem .8rem;flex:1;overflow-y:auto}
.nav-link-x{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;border-radius:12px;color:#5c4f3c;font-weight:500;margin-bottom:.15rem;transition:.15s}
.nav-link-x i{font-size:1.08rem;color:var(--gold)}
.nav-link-x:hover{background:var(--champagne-soft);color:var(--ink)}
.nav-link-x.active{background:linear-gradient(135deg,#c9ab76,#b08a4d);color:#fff;box-shadow:0 6px 16px rgba(176,138,77,.3)}
.nav-link-x.active i{color:#fff}
.sidebar-foot{padding:1rem;border-top:1px solid var(--line)}
.user-chip{display:flex;align-items:center;gap:.65rem;color:var(--ink)}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--champagne);display:grid;place-items:center;font-weight:600;color:var(--gold-dark)}
.user-info{display:flex;flex-direction:column;line-height:1.15;overflow:hidden}
.user-info strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-info small{color:var(--muted);font-size:.72rem}
.main-area{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.5rem;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.page-title{font-size:1.7rem;margin:0}
.content{padding:1.5rem;flex:1}
.app-footer{padding:1rem 1.5rem;color:var(--muted);font-size:.75rem;text-align:center;border-top:1px solid var(--line)}
@media(max-width:575px){.content{padding:1rem}.topbar{padding:.7rem 1rem}.page-title{font-size:1.35rem}}

/* Cards */
.card-x{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 14px rgba(120,90,40,.05)}
.card-x .card-head{padding:1rem 1.25rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.card-x .card-head h5{margin:0;font-size:1.25rem}
.card-x .card-body-x{padding:1.25rem}
.kpi{padding:1.1rem 1.25rem;position:relative;overflow:hidden;height:100%}
.kpi .kpi-icon{position:absolute;right:1rem;top:1rem;width:40px;height:40px;border-radius:12px;background:var(--champagne-soft);color:var(--gold-dark);display:grid;place-items:center;font-size:1.15rem}
.kpi .kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}
.kpi .kpi-value{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:700;line-height:1.1;margin-top:.3rem}
.kpi .kpi-sub{font-size:.76rem;color:var(--muted);margin-top:.15rem}
.kpi.k-green .kpi-icon{background:#e5f1e7;color:#3f7a4c}
.kpi.k-rose .kpi-icon{background:#f7e4e8;color:#b5546b}
.kpi.k-blue .kpi-icon{background:#e3eef7;color:#41759e}
.kpi.k-orange .kpi-icon{background:#f8ebdc;color:#b8702a}

/* Tables */
.table-x{margin:0;--bs-table-bg:transparent}
.table-x thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--cream);border-bottom:1px solid var(--line);white-space:nowrap;font-weight:600}
.table-x td{vertical-align:middle;border-color:#f1e8d8}
.table-x tbody tr:hover{background:#fdfaf4}
.table-x tfoot td{background:var(--champagne-soft);font-weight:600}

/* Badges */
.badge-st{display:inline-block;padding:.22rem .65rem;border-radius:20px;font-size:.7rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.st-disponivel{background:#e5f1e7;color:#2f6b3d}
.st-reservado,.st-l-reservada{background:#f6ecd5;color:#8a6a21}
.st-alugado,.st-l-retirada{background:#f7e4e8;color:#a3405a}
.st-lavanderia{background:#e3eef7;color:#33688f}
.st-manutencao{background:#f8ebdc;color:#a1601c}
.st-l-devolvida{background:#e5f1e7;color:#2f6b3d}
.st-l-cancelada{background:#ececec;color:#666}
.st-atrasada{background:#fbe0e0;color:#b02a2a}

/* Vestidos */
.thumb{width:48px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--beige)}
.thumb-lg{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px}
.thumb-ph{display:grid;place-items:center;color:var(--gold);background:linear-gradient(135deg,#f6efe3,#ecdcb9);font-size:1.2rem}
.thumb-lg.thumb-ph{font-size:3rem}
.dress-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s;height:100%;display:flex;flex-direction:column;color:inherit}
.dress-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(120,90,40,.16);color:inherit}
.dress-card .photo{position:relative}
.dress-card .photo .thumb-lg{border-radius:0;aspect-ratio:3/4}
.dress-card .photo .badge-st{position:absolute;top:10px;left:10px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.dress-card .info{padding:.85rem 1rem 1rem}
.dress-card .code{font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.dress-card .name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;line-height:1.15;margin:.1rem 0 .3rem}
.dress-card .price{font-weight:600;color:var(--gold-dark)}
.gallery-main{border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.gallery-thumbs img{width:64px;height:80px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent}
.gallery-thumbs img.active{border-color:var(--gold)}
.photo-del{position:relative;display:inline-block}
.photo-del img{width:90px;height:115px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.photo-del label{position:absolute;bottom:4px;left:4px;right:4px;background:rgba(255,255,255,.92);border-radius:6px;font-size:.68rem;padding:1px 4px;text-align:center}

/* Rank */
.rank-n{width:30px;height:30px;border-radius:50%;background:var(--champagne-soft);color:var(--gold-dark);display:inline-grid;place-items:center;font-weight:700;font-size:.85rem}
.rank-n.r1{background:linear-gradient(135deg,#f1d98e,#c99a2e);color:#fff}
.rank-n.r2{background:linear-gradient(135deg,#e6e6e6,#a9a9a9);color:#fff}
.rank-n.r3{background:linear-gradient(135deg,#e8c4a0,#b97b43);color:#fff}

/* Calendário */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.cal-head{background:var(--beige);padding:.5rem;text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}
.cal-cell{min-height:112px;border-right:1px solid #f1e8d8;border-bottom:1px solid #f1e8d8;padding:.35rem;position:relative;display:block;color:inherit}
.cal-cell:nth-child(7n){border-right:0}
.cal-cell.other{background:#fcfaf6;color:#b8ad9b}
.cal-cell.today{background:#fff9ec}
.cal-cell.today .dnum{background:var(--gold);color:#fff}
.dnum{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:600;font-size:.78rem}
.cal-occ{position:absolute;right:6px;top:6px;font-size:.62rem;color:var(--muted)}
.ev{display:block;font-size:.68rem;line-height:1.25;padding:2px 5px;border-radius:5px;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#fff}
.ev-retirada{background:#b99356}
.ev-devolucao{background:#4f8a5b}
.ev-evento{background:#b5546b}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}
.week-col .ev{font-size:.8rem;padding:5px 8px;white-space:normal}
@media(max-width:767px){.cal-cell{min-height:70px;padding:.2rem}.ev{font-size:.58rem;padding:1px 3px}.cal-head{font-size:.6rem;padding:.3rem 0}.cal-occ{display:none}}

/* Misc */
.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}
.empty-state i{font-size:2.6rem;color:var(--champagne)}
.gold-line{height:3px;width:60px;background:linear-gradient(90deg,var(--gold),var(--champagne));border-radius:3px}
.info-grid dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.info-grid dd{margin-bottom:.7rem}
.nav-tabs-x{border-bottom:1px solid var(--line);gap:.25rem}
.nav-tabs-x .nav-link{color:var(--muted);border:0;border-bottom:2px solid transparent;font-weight:500}
.nav-tabs-x .nav-link.active{color:var(--gold-dark);border-bottom-color:var(--gold);background:transparent}
.page-link{color:var(--gold-dark)}
.page-item.active .page-link{background:var(--gold);border-color:var(--gold)}
.alert{border-radius:12px}
.total-box{background:var(--beige);border:1px dashed #d7c19a;border-radius:14px;padding:1rem}
.total-box .big{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:700;color:var(--gold-dark)}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.4rem}

/* Login */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 20% 10%,#f3e9d6 0,transparent 45%),radial-gradient(circle at 85% 90%,#ecdcb9 0,transparent 40%),var(--cream)}
.login-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:2.4rem 2rem;box-shadow:0 20px 60px rgba(120,90,40,.15);text-align:center}
.login-card .brand-mark{width:64px;height:64px;font-size:1.8rem;margin:0 auto 1rem}
.login-card h1{font-size:2.2rem;margin-bottom:.1rem}
.login-card .form-label{text-align:left;display:block}

@media print{.sidebar,.topbar,.app-footer,.no-print{display:none!important}.content{padding:0}}
