:root{
  --bg:#f5f6f8;--card:#fff;--text:#1f2937;--muted:#737b8c;--line:#e4e7ec;--soft:#f9fafb;
  --primary:#315fda;--primary-soft:#eef3ff;--danger:#c83e3e;--ok:#208a54;--warn:#b8791b;
  --sidebar:#161c26;--shadow:0 3px 14px rgba(17,24,39,.045)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif;font-size:12px;line-height:1.55}
button,input,select,textarea{font:inherit}
.app{display:grid;grid-template-columns:192px minmax(0,1fr);min-height:100vh}
.sidebar{background:var(--sidebar);color:#fff;padding:12px 10px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{font-size:14px;font-weight:800;margin:4px 6px 12px}.brand span{display:block;font-size:9.5px;color:#8f98a8;margin-top:2px}
.sidebar nav{display:flex;flex-direction:column;gap:2px}
.sidebar a{color:#c8cfda;text-decoration:none;padding:6px 8px;border-radius:7px;font-size:11px}
.sidebar a:hover,.sidebar a.active{background:#242e3e;color:#fff}
.main{padding:12px 14px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}
.topbar h1{margin:0;font-size:17px;font-weight:800}.topbar p{margin:1px 0 0;color:var(--muted);font-size:10.5px}
.top-actions{display:flex;align-items:center;gap:5px}.inline-form{display:inline;margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;box-shadow:var(--shadow)}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.section-title h2,.card h2{margin:0;font-size:13px}
.muted{color:var(--muted);font-size:10.5px}
.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:end}.grid-form.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-form h2{font-size:12px;margin:5px 0}.span2{grid-column:span 2}.span3{grid-column:span 3}.span4{grid-column:span 4}
label{display:flex;flex-direction:column;gap:2px;font-weight:700;color:#414957;font-size:10.5px}
input,select,textarea{width:100%;height:29px;border:1px solid #d9dde5;border-radius:7px;background:#fff;color:var(--text);padding:5px 7px;outline:none}
textarea{height:58px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#9ab2ef;box-shadow:0 0 0 2px rgba(49,95,218,.08)}
summary{cursor:pointer;font-weight:800;font-size:11.5px;user-select:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:29px;border:1px solid #d7dbe4;background:#fff;color:#263142;text-decoration:none;border-radius:7px;padding:0 9px;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:#aeb6c5}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.danger,.btn.icon.danger{color:#a93333;border-color:#efc2c2;background:#fff8f8}
.btn.tiny{height:25px;padding:0 7px;font-size:10.5px}.btn.icon{height:24px;padding:0 6px;font-size:10px}.btn:disabled{opacity:.55;cursor:wait}
.google{width:100%;margin-top:6px}
.alert{border-radius:8px;padding:7px 9px;margin-bottom:8px;border:1px solid}.alert.success{background:#eefaf3;border-color:#c7ead5;color:#17653c}.alert.danger{background:#fff3f3;border-color:#f0cccc;color:#8f2525}
.filters{display:flex;flex-wrap:wrap;gap:5px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px;margin-bottom:8px}
.filters label{min-width:112px;max-width:170px;flex:1}
.table-card{padding:0}.table-card .section-title{padding:8px 10px 0}
.table-wrap{overflow:auto;max-width:100%;scrollbar-width:thin}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:820px}
th,td{border-bottom:1px solid var(--line);padding:5px 6px;text-align:right;vertical-align:middle;white-space:nowrap}
th{position:sticky;top:0;z-index:2;background:#f7f8fa;color:#596170;font-size:9.8px;font-weight:800}
td{font-size:10.7px;background:#fff}tr:hover td{background:#fcfdff}
.editable-cell{min-width:78px;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.wide-cell{min-width:155px;max-width:280px}
.row-editing td{background:#f8fbff!important}.row-editing .editable-cell{outline:1px solid #b8c8ee;outline-offset:-1px;white-space:normal}
.row-editing .editable-cell:focus{outline:2px solid #8eaae8;background:#fff!important}
.inline-select,.inline-date,.system-input{height:25px;min-width:88px;font-size:10.5px;padding:2px 5px;border-radius:6px}
.inline-select:disabled,.inline-date:disabled,.system-input:disabled{border-color:transparent;background:transparent;color:inherit;opacity:1;padding-inline:0}
.inline-input-cell{padding-top:3px;padding-bottom:3px}.row-actions{display:flex;gap:3px}
.readonly-cell{color:#7b8493;background:#fafafa!important}
.saving::after{content:'در حال ذخیره';font-size:9px;color:var(--primary);margin-inline-start:5px}.saved::after{content:'ذخیره شد';font-size:9px;color:var(--ok);margin-inline-start:5px}.error-save::after{content:'خطا';font-size:9px;color:var(--danger);margin-inline-start:5px}
.badge{display:inline-flex;border-radius:999px;padding:1px 6px;font-size:9.5px;font-weight:800}.badge.open{background:#eff5ff;color:#315fda}.badge.progress{background:#fff7e9;color:#a8680d}.badge.done{background:#eaf8f0;color:#18834d}.badge.overdue{background:#fff0f0;color:#b33434}
.check{flex-direction:row;align-items:center;gap:6px}.check input{width:auto;height:auto}
.code,code.code{display:block;direction:ltr;text-align:left;background:#1b2230;color:#e4e7ec;border-radius:7px;padding:8px;white-space:normal}

/* Calendar */
.calendar-toolbar{display:flex;justify-content:space-between;align-items:end;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 9px;margin-bottom:8px}
.calendar-nav{display:flex;align-items:center;gap:9px}.calendar-nav strong{min-width:120px;text-align:center;font-size:13px}
.calendar-filter{display:flex;align-items:end;gap:5px}.calendar-filter label{min-width:180px}
.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-head{background:#f6f7f9;border-bottom:1px solid var(--line)}.calendar-head>div{padding:7px;text-align:center;color:#697283;font-size:10px;font-weight:800}
.calendar-day{position:relative;min-height:112px;padding:7px;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-align:right;color:inherit;cursor:pointer;overflow:hidden}
.calendar-day:nth-child(7n){border-left:0}.calendar-day:hover{background:#fafcff}.calendar-day.empty{background:#fafafa;cursor:default}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--primary);z-index:1}
.calendar-date{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:7px;font-weight:800;font-size:11px}
.calendar-day.today .calendar-date{background:var(--primary);color:#fff}.calendar-count{float:left;color:#6d7687;font-size:9px;margin-top:3px}
.calendar-preview{display:grid;gap:3px;margin-top:5px}.calendar-event{display:block;background:#f4f6fb;border:1px solid #e5e9f2;border-radius:6px;padding:3px 5px;font-size:9.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis}
.calendar-event.daily{border-right:3px solid #4c78dd}.calendar-event.monthly{border-right:3px solid #c48226}.calendar-event small{display:block;color:#7b8493;font-size:8.5px;overflow:hidden;text-overflow:ellipsis}
.calendar-more{font-size:9px;color:#586273;padding-right:2px}
.modal-backdrop{position:fixed;inset:0;background:rgba(18,24,35,.38);z-index:9998;display:flex;align-items:center;justify-content:center;padding:18px}.modal-backdrop[hidden]{display:none}
.calendar-modal{width:min(620px,100%);max-height:82vh;overflow:auto;background:#fff;border-radius:12px;border:1px solid #dfe3eb;box-shadow:0 20px 60px rgba(18,24,35,.2);padding:12px}
.modal-head{display:flex;justify-content:space-between;gap:10px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}.modal-head h2{font-size:14px;margin:0}.modal-head p{margin:2px 0 0;color:var(--muted);font-size:10px}
.calendar-modal-body{display:grid;gap:6px}.modal-event{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fbfcfe}.modal-event h3{font-size:11.5px;margin:0 0 3px}.modal-event-meta{font-size:9.5px;color:#6b7485}.modal-event p{font-size:10px;margin:5px 0 0;color:#4b5563}.calendar-empty{padding:16px;text-align:center;color:var(--muted);background:#fafafa;border-radius:8px}

/* Systems */
.systems-table{min-width:1160px}.systems-table thead tr:first-child th{text-align:center}.systems-table th a{color:#455167;text-decoration:none}.systems-table th a:hover{text-decoration:underline}
.system-company{font-weight:800;min-width:145px}.systems-table td{padding:4px}.systems-table .system-input{min-width:120px}
.password-wrap{display:flex;align-items:center;gap:3px}.password-wrap input{flex:1;min-width:115px}.password-toggle{height:23px;min-width:24px;border:1px solid #dce0e7;border-radius:6px;background:#fff;color:#687284;cursor:pointer}
.systems-table .row-editing .system-input{border-color:#b5c5ea;background:#fff;padding-inline:5px}

/* Kanban */
.kanban{display:grid;grid-template-columns:repeat(5,minmax(175px,1fr));gap:8px;align-items:start}
.kanban-col{background:#fff;border:1px solid var(--line);border-radius:10px;min-height:280px;padding:7px;box-shadow:var(--shadow)}.kanban-col h3{margin:0 0 7px;font-size:11.5px;display:flex;justify-content:space-between}
.kanban-col h3 span{background:#eef2f7;border-radius:999px;padding:1px 5px;font-size:9px}.kanban-card{display:block;color:inherit;text-decoration:none;border:1px solid #e7e9ef;border-radius:8px;padding:7px;margin-bottom:5px;background:#fcfdff}.kanban-card:hover{border-color:#cdd5e4}
.kanban-card b{font-size:10.5px;display:block}.kanban-card small,.kanban-card time{display:block;color:var(--muted);font-size:9.5px}

/* Forms/login */
.login-page,.install-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px;background:#f2f4f7}
.login-card,.install-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.install-card{width:min(800px,100%)}
.jalali-picker{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px rgba(17,24,39,.12);border-radius:9px;padding:7px;z-index:9999;display:grid;grid-template-columns:70px 85px 60px;gap:5px}.jalali-picker button{grid-column:span 3}
.unsaved-dot{display:inline-block;width:6px;height:6px;border-radius:99px;background:#f2a323;margin-inline-start:5px}

@media(max-width:1100px){
  .app{grid-template-columns:178px minmax(0,1fr)}
  .grid-form.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kanban{grid-template-columns:repeat(2,minmax(190px,1fr))}
  .calendar-day{min-height:96px}
}
@media(max-width:760px){
  body{font-size:11.5px}.app{grid-template-columns:1fr}.sidebar{height:auto;position:relative;padding:8px}.brand{margin-bottom:7px}
  .sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.sidebar a{text-align:center;justify-content:center;background:#1c2532}
  .main{padding:8px}.topbar{flex-direction:column;margin-bottom:7px}.topbar h1{font-size:15px}
  .grid-form,.grid-form.compact{grid-template-columns:1fr}.span2,.span3,.span4{grid-column:span 1}
  .filters label{min-width:calc(50% - 5px);max-width:none}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-filter{width:100%}.calendar-filter label{flex:1;min-width:0}
  .calendar-shell{overflow:auto}.calendar-grid{min-width:700px}.calendar-day{min-height:92px;padding:5px}
  .kanban{grid-template-columns:1fr}.table-wrap{overscroll-behavior-x:contain}
}


/* ===== Smart persistent data grids v3.1 ===== */
.smart-table{table-layout:fixed;width:100%;min-width:760px}
.smart-table th,.smart-table td{position:relative;box-sizing:border-box}
.smart-table th.draggable-col{cursor:grab;user-select:none;padding-left:11px}
.smart-table th.draggable-col:active{cursor:grabbing}
.smart-table th.column-dragging{opacity:.45;background:#eef3fb}
.smart-table th.column-drag-over{box-shadow:inset 2px 0 0 #64748b,inset -2px 0 0 #64748b}
.smart-table.column-resizing,.smart-table.column-resizing *{cursor:col-resize!important;user-select:none!important}
.smart-table .col-hidden{display:none!important}
.col-resizer{position:absolute;z-index:5;left:-3px;top:0;width:7px;height:100%;cursor:col-resize;touch-action:none}
.col-resizer:after{content:"";position:absolute;left:3px;top:24%;height:52%;width:1px;background:transparent}
.smart-table th:hover .col-resizer:after,.smart-table.column-resizing .col-resizer:after{background:#c7cfdd}
.list-toolbar{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:5px 8px;border-bottom:1px solid var(--line);background:#fbfcfe}
.list-toolbar-hint{margin-inline-end:auto;font-size:9px;color:var(--muted);transition:.2s}
.list-toolbar.prefs-saved .list-toolbar-hint:after{content:" • ذخیره شد";color:#18885d}
.table-gear{width:28px;height:26px;font-size:13px;padding:0}
.table-settings-panel{position:absolute;z-index:1200;top:34px;left:8px;width:min(390px,calc(100vw - 34px));max-height:70vh;overflow:auto;background:#fff;border:1px solid #dce2eb;border-radius:10px;box-shadow:0 16px 42px rgba(15,23,42,.16);padding:8px;text-align:right}
.table-settings-panel[hidden]{display:none}
.table-settings-head{display:flex;align-items:center;gap:5px;padding-bottom:7px;border-bottom:1px solid var(--line);margin-bottom:6px}
.table-settings-head strong{font-size:11px;margin-inline-end:auto}
.column-config-list{display:grid;gap:3px}
.column-config-item{display:grid;grid-template-columns:18px 18px minmax(110px,1fr) 72px;align-items:center;gap:5px;padding:5px 6px;border:1px solid transparent;border-radius:7px;background:#fafbfc;cursor:grab}
.column-config-item:hover{border-color:#dce3ec;background:#fff}
.column-config-item.dragging{opacity:.45}
.column-config-item.drag-over-item{border-color:#93a9d2;background:#f4f7fc}
.drag-handle{color:#8a94a5;font-size:12px;letter-spacing:-2px;cursor:grab}
.column-config-label{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.column-width-input{height:25px!important;padding:2px 5px!important;font-size:9.5px!important}
.danger-soft{color:#b33a3a;background:#fff7f7;border-color:#f0d0d0}
.portal-head{display:flex;flex-direction:column;gap:1px;line-height:1.15}
.portal-head a{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-head small{font-size:8.5px;color:var(--muted);font-weight:500}

/* ===== Kanban drag/drop v3.1 ===== */
.kanban[data-kanban-board]{position:relative;padding-top:25px}
.kanban-help{position:absolute;top:0;right:2px;left:2px;height:19px;font-size:9px;color:var(--muted);display:flex;align-items:center}
.kanban-col{transition:border-color .12s,background .12s,box-shadow .12s}
.kanban-col.drag-over{border-color:#8ca3ce;background:#f7f9fd;box-shadow:0 0 0 2px rgba(96,122,171,.08)}
.kanban-dropzone{min-height:230px}
.kanban-card{cursor:grab;position:relative;transition:transform .12s,opacity .12s,border-color .12s,box-shadow .12s}
.kanban-card:active{cursor:grabbing}
.kanban-card.dragging{opacity:.42;transform:rotate(-1deg)}
.kanban-card.saving{opacity:.6}
.kanban-card.saved{border-color:#8bcdb1;box-shadow:0 0 0 2px rgba(49,160,105,.08)}
.kanban-open{display:inline-block;margin-top:5px;color:#526987;text-decoration:none;font-size:9px}
.kanban-open:hover{text-decoration:underline}

@media(max-width:700px){
  .list-toolbar-hint{display:none}
  .table-settings-panel{position:fixed;left:10px;right:10px;top:auto;bottom:10px;width:auto;max-height:72vh}
  .column-config-item{grid-template-columns:18px 18px minmax(90px,1fr) 66px}
}


/* Accounting CRM V3.2 */
.v32-select-col{width:34px!important;min-width:34px!important;max-width:34px!important;text-align:center!important;position:sticky;right:0;z-index:3;background:var(--surface,#fff)}
.v32-select-col input{width:15px;height:15px;margin:0}
.v32-io-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-inline-start:auto}
.v32-selected-count{font-size:11px;color:#64748b;min-width:58px}
.v32-import-backdrop{display:flex!important;align-items:center;justify-content:center;padding:18px}
.v32-import-modal{width:min(620px,96vw);background:#fff;border-radius:14px;border:1px solid #e5e7eb;box-shadow:0 24px 70px rgba(15,23,42,.18);padding:16px}
.v32-import-note{font-size:11px;line-height:1.9;background:#f8fafc;border:1px solid #e5e7eb;border-radius:9px;padding:9px 11px;margin:10px 0}
.v32-template-links{display:flex;gap:6px;align-items:end}
.v32-event-actions{display:flex;gap:6px;margin-top:8px}
.v32-quick-panel{border-top:1px solid #e5e7eb;padding:12px 14px;background:#fbfcfe}
.v32-quick-buttons{display:flex;gap:6px;margin-bottom:8px}
.v32-quick-form{display:grid;grid-template-columns:100px minmax(120px,1fr) minmax(160px,2fr) minmax(140px,2fr) auto;gap:6px;align-items:center}
.v32-quick-form select,.v32-quick-form input{min-width:0;height:32px;font-size:12px;padding:5px 8px}
.v32-quick-date{font-size:11px;color:#64748b;white-space:nowrap}
.v32-focus-row{outline:2px solid #2563eb!important;outline-offset:-2px;animation:v32pulse 1s ease 2}
@keyframes v32pulse{50%{background:#eff6ff}}
.v32-kanban-bulk{display:flex;align-items:center;gap:8px;grid-column:1/-1;padding:6px 8px;background:#fff;border:1px solid #e5e7eb;border-radius:9px}
.v32-kanban-select{position:absolute;top:7px;left:7px;width:15px;height:15px;z-index:2}
.kanban-card{position:relative}
@media(max-width:760px){
  .v32-io-actions{width:100%;margin-top:6px}
  .v32-quick-form{grid-template-columns:1fr 1fr}
  .v32-quick-form .v32-quick-date,.v32-quick-form button{grid-column:1/-1}
  .v32-import-modal{padding:12px}
}

.v32-calendar-bulk{display:flex;align-items:center;gap:8px;padding:6px 0 10px;border-bottom:1px solid #e5e7eb;margin-bottom:8px}.v32-modal-event{position:relative;padding-inline-start:30px}.v32-cal-select{position:absolute;left:8px;top:12px;width:15px;height:15px}


/* ===== Accounting CRM V3.3 Responsive UX ===== */
.mobile-menu-toggle{display:none;width:34px;height:31px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px;flex-direction:column;justify-content:space-between;flex:0 0 auto}
.mobile-menu-toggle span{display:block;height:2px;border-radius:2px;background:#334155;width:100%}
.sidebar-overlay,.table-settings-backdrop{display:none}
body.sidebar-open,body.calendar-modal-open,body.table-settings-open{overflow:hidden}

.v33-gear-button{width:28px!important;padding:0!important;font-size:14px!important}
.list-toolbar{position:relative;z-index:8}
.table-settings-panel{z-index:1200!important;max-height:min(68vh,520px)!important;overflow:auto!important;overscroll-behavior:contain}
.column-config-item{min-width:0}.column-config-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.column-width-input{width:70px!important;flex:0 0 70px}

.v33-calendar-backdrop{backdrop-filter:blur(2px)}
.v33-calendar-modal{display:flex;flex-direction:column;padding:0!important;overflow:hidden!important;width:min(720px,calc(100vw - 28px))!important;max-height:min(88dvh,780px)!important}
.v33-calendar-modal .modal-head{position:sticky;top:0;z-index:4;background:#fff;padding:12px 14px;margin:0!important;flex:0 0 auto}
.v33-calendar-modal .calendar-modal-body{overflow:auto;overscroll-behavior:contain;padding:10px 14px;min-height:90px;flex:1 1 auto}
.v33-calendar-modal .v32-quick-panel{position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid var(--line);padding:10px 14px;flex:0 0 auto}
.v33-calendar-modal .modal-event{white-space:normal}.v33-calendar-modal .modal-event h3,.v33-calendar-modal .modal-event p{overflow-wrap:anywhere}

.api-manager-card{margin-top:8px}
.api-doc-actions{display:flex;gap:5px;flex-wrap:wrap}
.api-settings-grid{display:grid;grid-template-columns:160px 150px minmax(250px,1fr) auto;gap:7px;align-items:end;margin:9px 0}
.api-cors-field textarea{height:58px;resize:vertical}
.api-switch{align-self:center}
.api-base{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:7px;margin-bottom:8px}
.api-base code{direction:ltr;text-align:left;overflow:auto;white-space:nowrap}
.api-token-create{display:grid;grid-template-columns:minmax(190px,2fr) 160px 105px auto;gap:6px;margin:8px 0}
.api-new-token{border:1px solid #b9ddc9;background:#f0fbf5;border-radius:9px;padding:9px;margin:8px 0}
.api-new-token>div{display:flex;gap:5px;align-items:center;margin-top:6px}.api-new-token code{direction:ltr;text-align:left;overflow:auto;flex:1;background:#10221a;color:#d9fbe8;border-radius:6px;padding:7px}
.api-token-table{min-width:820px}.api-scope{display:inline-flex;padding:1px 5px;border-radius:999px;background:#eef2ff;color:#3f4f79;font-size:9px}.api-revoked{color:var(--danger);font-weight:700}

@media(max-width:900px){
  .app{display:block!important;grid-template-columns:none!important}
  .sidebar{position:fixed!important;right:0!important;top:0!important;bottom:0!important;width:min(82vw,280px)!important;height:100dvh!important;z-index:15000!important;padding:14px 11px!important;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 48px rgba(15,23,42,.18);overflow:auto!important}
  .sidebar.is-open{transform:translateX(0)}
  .sidebar .brand{margin:3px 5px 14px!important}
  .sidebar nav{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:3px!important}
  .sidebar a{text-align:right!important;background:transparent!important;padding:9px 10px!important;font-size:12px!important}
  .sidebar a.active,.sidebar a:hover{background:#242e3e!important}
  .sidebar-overlay{display:block;position:fixed;inset:0;border:0;background:rgba(15,23,42,.38);z-index:14990;opacity:0;visibility:hidden;transition:.2s}
  .sidebar-overlay.is-open{opacity:1;visibility:visible}
  .mobile-menu-toggle{display:flex}
  .main{padding:9px 10px!important}
  .topbar{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:8px!important}
  .topbar>div:first-of-type{min-width:0;flex:1}.topbar h1{font-size:15px!important}.topbar p{white-space:normal}
  .top-actions{margin-inline-start:auto;flex-wrap:wrap;justify-content:flex-end}
  .api-settings-grid{grid-template-columns:1fr 1fr}.api-cors-field{grid-column:1/-1}.api-token-create{grid-template-columns:1fr 1fr}.api-token-create>[data-token-name]{grid-column:1/-1}
}

@media(max-width:760px){
  .table-settings-panel{position:fixed!important;inset:auto 8px 8px 8px!important;width:auto!important;max-width:none!important;max-height:72dvh!important;border-radius:15px!important;z-index:16020!important;padding:10px!important;box-shadow:0 24px 70px rgba(15,23,42,.25)!important}
  .table-settings-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(15,23,42,.34);z-index:16010;opacity:0;visibility:hidden}
  .table-settings-backdrop.is-open{opacity:1;visibility:visible}
  .table-settings-head{position:sticky;top:-10px;background:#fff;z-index:2;padding:8px 0}
  .column-config-list{max-height:54dvh;overflow:auto}
  .column-config-item{grid-template-columns:18px 20px minmax(0,1fr) 66px!important;gap:5px!important;min-height:38px}
  .column-width-input{width:66px!important;flex-basis:66px!important}

  .v33-calendar-backdrop{align-items:flex-end!important;padding:0!important}
  .v33-calendar-modal{width:100%!important;max-width:none!important;height:min(92dvh,860px)!important;max-height:92dvh!important;border-radius:18px 18px 0 0!important;border-bottom:0!important}
  .v33-calendar-modal .modal-head{padding:12px!important}
  .v33-calendar-modal .calendar-modal-body{padding:9px 10px!important}
  .v33-calendar-modal .v32-quick-panel{padding:9px 10px!important}
  .v33-calendar-modal .v32-quick-buttons{display:grid!important;grid-template-columns:1fr 1fr}
  .v33-calendar-modal .v32-quick-form{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .v33-calendar-modal .v32-quick-form[hidden]{display:none!important}
  .v33-calendar-modal .v32-quick-form>*{grid-column:1!important}
  .modal-event{padding:9px!important}.modal-head h2{font-size:13px!important}
  .calendar-toolbar{position:relative}.calendar-nav{justify-content:space-between}.calendar-nav strong{min-width:0!important}
  .calendar-filter{display:grid!important;grid-template-columns:1fr auto!important}
  .calendar-filter label{width:auto!important}
  .calendar-grid{min-width:620px!important}
  .calendar-day{min-height:84px!important}

  .api-settings-grid,.api-token-create{grid-template-columns:1fr!important}
  .api-cors-field,.api-token-create>[data-token-name]{grid-column:auto}
  .api-base{grid-template-columns:1fr auto}.api-base>span{grid-column:1/-1}.api-base code{font-size:10px}
  .api-new-token>div{align-items:stretch;flex-direction:column}
}

@media(max-width:430px){
  .top-actions>a{display:none}
  .main{padding:7px!important}.card{border-radius:9px}
  .calendar-grid{min-width:560px!important}
  .v33-calendar-modal{height:94dvh!important;max-height:94dvh!important}
}
