|
370 | 370 | .toast{position:fixed;bottom:24px;right:24px;background:var(--bg-3);border:1px solid var(--line-2);color:var(--ink);padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:0 12px 32px rgba(0,0,0,.4);transform:translateY(20px);opacity:0;transition:all .35s cubic-bezier(.34,1.26,.64,1);z-index:50;pointer-events:none} |
371 | 371 | .toast.show{transform:translateY(0);opacity:1} |
372 | 372 | .toast .d{width:7px;height:7px;border-radius:50%;background:var(--lime)} |
| 373 | + |
| 374 | +/* Responsive admin shell */ |
| 375 | +.main,.panel,.kpi-card,.dash-row>*{min-width:0} |
| 376 | +.panel:has(.table){overflow-x:auto} |
| 377 | +.panel:has(.table) .table{min-width:760px} |
| 378 | + |
| 379 | +@media (max-width:1180px){ |
| 380 | + .app{grid-template-columns:224px minmax(0,1fr)} |
| 381 | + .main{padding-left:24px;padding-right:24px} |
| 382 | + .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))} |
| 383 | + .dash-row.r1,.dash-row.r2{grid-template-columns:1fr} |
| 384 | + .students-grid{grid-template-columns:repeat(2,minmax(0,1fr))} |
| 385 | +} |
| 386 | + |
| 387 | +@media (max-width:900px){ |
| 388 | + body{overflow-x:hidden} |
| 389 | + .app{display:block;min-width:0} |
| 390 | + .sb{ |
| 391 | + position:relative; |
| 392 | + height:auto; |
| 393 | + max-height:none; |
| 394 | + overflow:visible; |
| 395 | + border-right:0; |
| 396 | + border-bottom:1px solid var(--line); |
| 397 | + padding:12px; |
| 398 | + display:grid; |
| 399 | + grid-template-columns:1fr auto; |
| 400 | + gap:10px; |
| 401 | + } |
| 402 | + .sb-brand{padding:4px 4px 10px;margin:0;border-bottom:0} |
| 403 | + .sb-tenant{grid-column:1/-1;margin:0} |
| 404 | + .sb-tenant-menu{grid-column:1/-1;margin:0} |
| 405 | + .sb-group{display:none} |
| 406 | + .sb-link{ |
| 407 | + padding:9px 10px; |
| 408 | + border:1px solid var(--line); |
| 409 | + background:var(--bg-2); |
| 410 | + justify-content:flex-start; |
| 411 | + } |
| 412 | + .sb-link.active{border-color:rgba(205,250,80,0.28)} |
| 413 | + .sb-link .kbd{display:none} |
| 414 | + .sb-bottom{ |
| 415 | + grid-column:1/-1; |
| 416 | + margin:2px 0 0; |
| 417 | + padding-top:10px; |
| 418 | + border-top:1px solid var(--line); |
| 419 | + display:grid; |
| 420 | + grid-template-columns:repeat(3,minmax(0,1fr)); |
| 421 | + gap:8px; |
| 422 | + } |
| 423 | + .sb-portal-link{ |
| 424 | + border:1px solid var(--line); |
| 425 | + background:var(--bg-2); |
| 426 | + min-width:0; |
| 427 | + overflow:hidden; |
| 428 | + text-overflow:ellipsis; |
| 429 | + white-space:nowrap; |
| 430 | + } |
| 431 | + .sb-user{grid-column:1/-1;margin-top:0} |
| 432 | + .main{width:100%;max-width:none;padding:0 16px 44px} |
| 433 | + .topbar{ |
| 434 | + top:0; |
| 435 | + flex-wrap:wrap; |
| 436 | + gap:14px; |
| 437 | + align-items:flex-start; |
| 438 | + padding:14px 0; |
| 439 | + margin-bottom:18px; |
| 440 | + } |
| 441 | + .topbar-l{min-width:0} |
| 442 | + .topbar h1{font-size:23px;line-height:1.1} |
| 443 | + .topbar-r{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:8px} |
| 444 | + .search{width:100%;min-width:0} |
| 445 | + .range-toggle{overflow-x:auto;justify-content:flex-start} |
| 446 | + .range-toggle button{white-space:nowrap} |
| 447 | + .kpi-grid{gap:10px;margin-bottom:14px} |
| 448 | + .kpi-card{padding:16px} |
| 449 | + .kpi-card .val{font-size:34px} |
| 450 | + .panel{padding:18px;min-height:auto} |
| 451 | + .panel-head{gap:12px;flex-wrap:wrap} |
| 452 | + .panel-head .actions{overflow-x:auto;max-width:100%;padding-bottom:2px} |
| 453 | + .rev-chart{min-height:230px} |
| 454 | + .heat,.heat-x{min-width:640px} |
| 455 | + .heat-shell{overflow-x:auto;padding-bottom:4px} |
| 456 | + .feed-item{grid-template-columns:44px auto 1fr;gap:8px} |
| 457 | + .feed-item .t{font-size:10px;letter-spacing:0;min-width:52px} |
| 458 | + .feed-item .amt{grid-column:3;text-align:left} |
| 459 | + .spec-card{align-items:flex-start;flex-wrap:wrap} |
| 460 | + .spec-card .nm{flex-basis:calc(100% - 50px)} |
| 461 | + .spec-card .meta{margin-left:50px} |
| 462 | + .toast{left:16px;right:16px;bottom:16px;justify-content:center} |
| 463 | +} |
| 464 | + |
| 465 | +@media (max-width:640px){ |
| 466 | + html,body{font-size:13px} |
| 467 | + .sb{grid-template-columns:1fr;padding:10px} |
| 468 | + .sb-brand{padding-bottom:4px} |
| 469 | + .sb-link{font-size:12.5px} |
| 470 | + .sb-bottom{grid-template-columns:1fr} |
| 471 | + .main{padding:0 12px 36px} |
| 472 | + .topbar-r{grid-template-columns:1fr 1fr} |
| 473 | + .search{grid-column:1/-1} |
| 474 | + .range-toggle{grid-column:1/-1} |
| 475 | + .btn{min-height:38px} |
| 476 | + .kpi-grid{grid-template-columns:1fr} |
| 477 | + .kpi-card{gap:12px} |
| 478 | + .dash-row{gap:10px;margin-bottom:10px} |
| 479 | + .panel{padding:16px;border-radius:10px} |
| 480 | + .panel:has(.table){padding-left:0;padding-right:0} |
| 481 | + .panel:has(.table) .panel-head{padding-left:16px!important;padding-right:16px!important} |
| 482 | + .table-foot{flex-direction:column;align-items:flex-start;gap:10px} |
| 483 | + .students-grid{grid-template-columns:1fr} |
| 484 | + .modal-card{padding:20px;max-width:calc(100vw - 24px)} |
| 485 | + .modal-card .modal-row{align-items:flex-start;gap:12px} |
| 486 | +} |
373 | 487 | </style> |
374 | 488 | </head> |
375 | 489 | <body> |
|
0 commit comments