:root{--color-bg: #edf2f1;--color-surface: rgba(255, 255, 255, .9);--color-surface-strong: #ffffff;--color-border: rgba(51, 65, 85, .12);--color-text: #13202a;--color-muted: #5b6973;--color-primary: #0f766e;--color-primary-strong: #115e59;--color-accent: #0f4c81;--color-warning: #b45309;--color-danger: #b42318;--color-success: #166534;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .08);--shadow-raised: 0 24px 60px rgba(15, 23, 42, .12);--radius-xl: 28px;--radius-lg: 24px;--radius-md: 18px;--radius-sm: 14px;--font-sans: "Segoe UI", "Trebuchet MS", sans-serif}html{font-size:14px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-sans);font-size:.96rem;line-height:1.45;background:radial-gradient(circle at top left,rgba(15,118,110,.12),transparent 25%),radial-gradient(circle at top right,rgba(14,116,144,.08),transparent 24%),linear-gradient(180deg,#f3f6f5,#ebf0ef);color:var(--color-text)}body{min-height:100vh}body.layout-scroll-lock{overflow:hidden}button,input,textarea,select{font:inherit}button,.button-link{transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease}button:hover,.button-link:hover{transform:translateY(-1px)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.65;cursor:not-allowed}a{color:var(--color-primary-strong)}h1,h2,h3,h4{margin:0;letter-spacing:-.03em;line-height:1.2}p{line-height:1.6}.page-card{display:grid;gap:14px;padding:16px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffffff5,#f8fafceb);border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-header h3,.page-header h4{margin-top:4px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--color-primary);font-weight:700}.button-link,.form-actions button,.filters-grid button,.pager button,.secondary-button,.danger-button,button:not(.logout-button):not(.notification-bell):not(.sidebar-toggle){display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid transparent;padding:9px 14px;border-radius:12px;cursor:pointer;font-weight:700}.button-link,.form-actions button,.filters-grid button,.pager button,button[type=submit],button.primary-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:#fff;box-shadow:0 14px 28px #0f766e2e}.secondary-button{background:#ffffffe6;border-color:#0f766e29;color:var(--color-primary-strong)}.danger-button{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.filters-grid,.form-grid,.detail-grid,.totals-grid{display:grid;gap:12px}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}.form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.form-grid .wide,.detail-grid .wide{grid-column:1/-1}label{display:grid;gap:6px;font-weight:700;color:var(--color-text);font-size:.9rem}input,select,textarea{width:100%;border:1px solid rgba(148,163,184,.34);border-radius:12px;padding:10px 12px;background:#fffffff0;color:var(--color-text);box-shadow:inset 0 1px 2px #0f172a0a;min-height:40px}input:focus,select:focus,textarea:focus{outline:none;border-color:#0f766e75;box-shadow:0 0 0 4px #14b8a624,inset 0 1px 2px #0f172a0a}small.error,.error{color:var(--color-danger)}small.error{font-weight:600}.checkbox-field{display:flex;align-items:center;gap:8px;padding-top:4px}.checkbox-field input{width:auto;margin:0}.table-wrap,.table-wrapper{overflow-x:auto;border-radius:18px;border:1px solid rgba(148,163,184,.16);-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;background:#ffffffd6;font-size:.93rem}th,td{padding:10px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle;line-height:1.35}thead th{position:sticky;top:0;z-index:1;background:#f1f5f9f5;color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:#0f766e0a}td.actions,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.actions a,.actions button{text-decoration:none;color:var(--color-primary-strong);font-weight:700;background:transparent;border:0;padding:0;box-shadow:none}.actions button{color:var(--color-danger)}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pager>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.detail-grid article{padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:#ffffffd1}.detail-grid article span{display:block;color:var(--color-muted);margin-bottom:8px}.status-chip,.user-chip,.tenant-badge,.notification-badge{box-shadow:0 10px 24px #0f172a14}.empty,.empty-state{display:grid;place-items:center;min-height:140px;padding:18px;border:1px dashed rgba(148,163,184,.35);border-radius:20px;background:#f8fafcbf;color:var(--color-muted);text-align:center}.loading-copy{display:inline-flex;align-items:center;gap:10px;color:var(--color-muted);font-weight:600}.loading-copy:before{content:"";width:14px;height:14px;border-radius:999px;border:2px solid rgba(15,118,110,.18);border-top-color:var(--color-primary);animation:spin .8s linear infinite}.skeleton-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.skeleton-card,.skeleton-line{position:relative;overflow:hidden;border-radius:18px;background:#e2e8f0a6}.skeleton-card:after,.skeleton-line:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);animation:shimmer 1.1s infinite}.skeleton-card{min-height:104px}.skeleton-line{height:14px}@keyframes shimmer{to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.page-card{padding:14px}.page-header{flex-direction:column;align-items:stretch}.pager{align-items:stretch}}@media(max-width:640px){.page-card{padding:12px;gap:12px}.page-header,.filters-grid,.form-grid,.detail-grid,.totals-grid,.skeleton-grid{gap:10px}th,td{padding:8px 9px}table{font-size:.9rem}.pager{gap:10px}}.layout-shell{display:grid;grid-template-columns:clamp(220px,17vw,240px) minmax(0,1fr);min-height:100vh;padding:16px;gap:16px}.layout-sidebar,.layout-header,.layout-content,.layout-footer{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.layout-sidebar{position:sticky;top:16px;align-self:start;height:calc(100vh - 32px);height:calc(100dvh - 32px);overflow:hidden;border-radius:var(--radius-lg);display:flex;flex-direction:column;padding:18px 16px;background:linear-gradient(180deg,#0f172af5,#182730f5),radial-gradient(circle at top left,rgba(45,212,191,.16),transparent 30%);color:#e2e8f0}.sidebar-top{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;gap:14px}.sidebar-brand-row{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.brand-block{display:grid;gap:8px}.sidebar-logo{display:block;width:min(100%,220px);max-width:220px;height:auto;max-height:58px;object-fit:contain}.brand-block h1{margin:0;font-size:1.2rem;line-height:1.2}.supporting-text{margin:8px 0 0;color:#e2e8f0bd;line-height:1.45;font-size:.93rem}.sidebar-close{display:none;border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:8px 12px;background:#0f172a47;color:#e2e8f0;font-weight:700;cursor:pointer}.sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:4px;-webkit-overflow-scrolling:touch}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b83d;border-radius:999px}.nav-group{margin-bottom:14px}.nav-group-label{margin:0 0 8px;color:#e2e8f09e;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav-links{display:grid;gap:6px}.sidebar-nav a{color:#f8fafc;text-decoration:none;padding:9px 12px;border-radius:12px;border:1px solid transparent;transition:.16s ease;line-height:1.3}.sidebar-nav a:hover,.sidebar-nav a.active{background:#ffffff1a;border-color:#94a3b847;transform:translate(2px)}.sidebar-bottom{flex:0 0 auto;margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.16)}.tenant-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#2dd4bf24;color:#ccfbf1;font-weight:700;line-height:1.2}.sidebar-footnote{margin:10px 0 0;color:#e2e8f0ad;line-height:1.45;font-size:.92rem}.layout-main{display:grid;grid-template-rows:auto 1fr auto;gap:14px;min-width:0}.layout-header,.layout-content,.layout-footer{border-radius:var(--radius-md)}.layout-header{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.header-intro{display:flex;align-items:center;gap:12px;min-width:0}.sidebar-toggle{display:none;border:1px solid rgba(15,118,110,.16);border-radius:12px;padding:8px 12px;background:#ffffffc7;color:var(--color-primary-strong);font-weight:700;cursor:pointer;min-height:40px}.layout-content{padding:18px;min-width:0}.layout-footer{padding:12px 16px;display:flex;justify-content:space-between;color:var(--color-muted);font-size:.92rem}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#2dd4bf}.layout-header .eyebrow{color:var(--color-primary)}.layout-header h2{font-size:1.3rem;line-height:1.2}.header-actions{display:flex;align-items:center;gap:10px;min-width:0}.notification-bell,.logout-button{border-radius:999px;padding:8px 12px;font-weight:700;min-height:40px}.notification-bell{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(15,118,110,.16);background:#0f766e14;color:var(--color-primary-strong);text-decoration:none}.notification-badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f97316,#dc2626);color:#fff;font-size:.72rem}.user-summary{display:grid;gap:2px;text-align:right}.user-summary strong{font-size:.96rem}.user-summary span{color:var(--color-muted);font-size:.88rem}.logout-button{border:0;background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;cursor:pointer}.layout-backdrop{display:none}.layout-scroll-lock{overflow:hidden}@media(max-width:1180px){.layout-shell{grid-template-columns:1fr;padding:12px;gap:12px}.layout-sidebar{position:fixed;top:12px;left:12px;bottom:12px;z-index:900;width:min(240px,100vw - 24px);height:calc(100vh - 24px);height:calc(100dvh - 24px);max-height:none;transform:translate(calc(-100% - 20px));transition:transform .18s ease}.layout-sidebar.open{transform:translate(0)}.layout-backdrop{display:block;position:fixed;inset:0;z-index:850;background:#0f172a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-close,.sidebar-toggle{display:inline-flex}}@media(max-width:900px){.layout-header,.layout-content,.layout-footer{border-radius:18px}.layout-header{flex-direction:column;align-items:stretch}.header-actions{flex-wrap:wrap;justify-content:space-between}.user-summary{text-align:left}}@media(max-width:640px){.layout-shell{padding:10px;gap:10px}.layout-header,.layout-content,.layout-footer{border-radius:16px}.layout-header,.layout-content{padding:14px}.layout-footer{padding:10px 14px;flex-direction:column;align-items:center;gap:4px}.header-actions{width:100%}.notification-bell,.logout-button{flex:1 1 auto;justify-content:center}}
