diff --git a/views/layouts/admin_main.php b/views/layouts/admin_main.php
new file mode 100644
index 0000000..c268466
--- /dev/null
+++ b/views/layouts/admin_main.php
@@ -0,0 +1,97 @@
+registerCsrfMetaTags();
+$this->registerMetaTag(['charset' => Yii::$app->charset], 'charset');
+$this->registerMetaTag(['name' => 'viewport', 'content' => 'width=device-width, initial-scale=1, shrink-to-fit=no']);
+$this->registerMetaTag(['name' => 'description', 'content' => $this->params['meta_description'] ?? '']);
+$this->registerMetaTag(['name' => 'keywords', 'content' => $this->params['meta_keywords'] ?? '']);
+$this->registerLinkTag(['rel' => 'icon', 'type' => 'image/x-icon', 'href' => Yii::getAlias('@web/favicon.ico')]);
+$darkMode = Yii::$app->user->isGuest ? 0 : Yii::$app->user->identity->dark_mode;
+?>
+beginPage() ?>
+
+ >
+
+
+
+ params['breadcrumbs'])): ?>
+ = Breadcrumbs::widget(['links' => $this->params['breadcrumbs']]) ?>
+
+ = Alert::widget() ?>
+ = $content ?>
+
+
+
+
+
+endBody() ?>
+
+
+registerJsFile('@web/js/darkmode_auto.js', ['position' => View::POS_BEGIN]);
+} else if ($darkMode === 1) {
+ $this->registerJsFile('@web/js/darkmode.js', ['position' => View::POS_BEGIN]);
+}
+?>
+endPage() ?>
+
diff --git a/views/layouts/guest_main.php b/views/layouts/guest_main.php
new file mode 100644
index 0000000..1b394cc
--- /dev/null
+++ b/views/layouts/guest_main.php
@@ -0,0 +1,77 @@
+registerCsrfMetaTags();
+$this->registerMetaTag(['charset' => Yii::$app->charset], 'charset');
+$this->registerMetaTag(['name' => 'viewport', 'content' => 'width=device-width, initial-scale=1, shrink-to-fit=no']);
+$this->registerMetaTag(['name' => 'description', 'content' => $this->params['meta_description'] ?? '']);
+$this->registerMetaTag(['name' => 'keywords', 'content' => $this->params['meta_keywords'] ?? '']);
+$this->registerLinkTag(['rel' => 'icon', 'type' => 'image/x-icon', 'href' => Yii::getAlias('@web/favicon.ico')]);
+?>
+beginPage() ?>
+
+
+
+
+
+ params['breadcrumbs'])): ?>
+ = Breadcrumbs::widget(['links' => $this->params['breadcrumbs']]) ?>
+
+ = Alert::widget() ?>
+ = $content ?>
+
+
+
+
+
+endBody() ?>
+
+
+endPage() ?>
+
diff --git a/views/layouts/main.php b/views/layouts/main.php
index 8e0c129..e650660 100644
--- a/views/layouts/main.php
+++ b/views/layouts/main.php
@@ -1,5 +1,5 @@